ExceptionHandler Exception Spring Error AOP

Spring ExceptionHandler 設定

王柏雄 2019/09/10 17:31:43
221

文章主題: Spring ErrorHandler 設定    

文章簡介:當我們想要自已定義或處理Exception spring 提供的@ExceptionHandler可以輕鬆的控制與使用,本文建立一個簡單的spring boot專案並實作@ExceptionHandler,使用postman呼叫的應用實例。

 

一、首先,建立一個spring boot 專案

 

二、建立我們想要處理的例外class,並繼承RuntimeException

 

三、建立ExceptionHandler如下圖

1、在class上加入@ControllerAdvice

2、在方法上加入@ExceptionHandler(自已定義的要處理的例外.class)

3、方法可傳入自已定義的例外,並取得相關資料

 

四、建立controler 測試

1、設定requestMapping,待會使用postman呼叫此api

2throw 自已定義的exception, 帶入message “hello! Exception !”

 

五、啟動專案進行測試

啟動專案後,使用postman 呼叫apilocalhost:8080/testException,下圖為回傳字樣hello! Exception!

我們可以看到下圖紅框,設定的回應為hello! Exception !,這個message是由ExceptionHandler接到exception傳送過來的,讀者可以自行設定想要的取得的資料。

 

六、非自行定義的exception 也可以接哦

controler 拋出的例外改為nullPointException

下圖可見 @ExceptionHandler(NullPointException.class)

使用postman 呼叫,如下圖可見,可以接到NullPointException

結語:讓例外的處理整個抽離,不會讓例外處理與邏輯混在一起。

參考:

https://wiki.jikexueyuan.com/project/spring/mvc-framework/spring-exception-handling-example.html

王柏雄