SpringBoot專案統一異常處理方案(二)

2021-09-25 21:21:20 字數 1081 閱讀 4842

利用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 為基礎,啟動該應用,訪問乙個...