利用controlleradvice + exceptionhandler實現統一異常處理自定義全域性異常處理類並加上@controlleradvice註解
通過在自定義類上加@controlleradvice
註解,這樣能為controller做一些增強的功能,並在自定義方法上加@exceptionhandler
,使得該方法可以捕獲到controller層丟擲的所有異常,如下**示例:
}總結步驟如下:
1、自定義乙個sysglobalexceptionhandler
作為系統全域性異常處理器,並且加上@controlleradvice
註解
2、自定義方法上加上@exceptionhandler
,同時可以指定要處理的異常型別,sysglobalexceptionhandler
會根據捕獲到的異常的型別,決定要執行哪乙個帶了@exceptionhandler
註解的方法
(注意:exceptionhandler
只能識別到同型別的異常或者是子類異常,並且不能同時在sysglobalexceptionhandler
中定義兩個相同的異常型別,否則專案啟動會報錯)
3、在方法中統一對異常進行處理,列印資訊和異常堆疊。根據異常的型別和專案需求決定將要返回的結果是模型檢視modelandview
還是json
資料。
Spring Boot中Web應用的統一異常處理
我們在做web應用的時候,請求處理過程中發生錯誤是非常常見的情況。spring boot提供了乙個預設的對映 error,當處理中丟擲異常之後,會轉到該請求中處理,並且該請求有乙個全域性的錯誤頁面用來展示異常內容。如圖 雖然,spring boot中實現了預設的error對映,但是在實際應用中,上面...
Spring Boot中Web應用的統一異常處理
我們在做web應用的時候,請求處理過程中發生錯誤是非常常見的情況。spring boot提供了乙個預設的對映 error,當處理中丟擲異常之後,會轉到該請求中處理,並且該請求有乙個全域性的錯誤頁面用來展示異常內容。選擇乙個之前實現過的web應用 chapter3 1 2 為基礎,啟動該應用,訪問乙個...
Spring Boot中Web應用的統一異常處理
我們在做web應用的時候,請求處理過程中發生錯誤是非常常見的情況。spring boot提供了乙個預設的對映 error,當處理中丟擲異常之後,會轉到該請求中處理,並且該請求有乙個全域性的錯誤頁面用來展示異常內容。選擇乙個之前實現過的web應用 chapter3 1 2 為基礎,啟動該應用,訪問乙個...