1. 程式人生 > >springboot統一處理異常方法

springboot統一處理異常方法

@ControllerAdvice註解將作用在所有註解了@RequestMapping的控制器的方法上
@ExceptionHandler:用於全域性處理控制器裡的異常
所以在寫專案的時候service層和mapper層都使用拋異常的方式,把異常都拋到controller層,然後來統一處理,這個類其實就相當於一個controller,也能重定向,轉發頁面等
這個是統一異常處理類,,@ControllerAdvice這個註解宣告的表示統一異常處理,@ExceptionHandler(value = Exception.class)這個註解寫在方法上表示,該方法處理哪個異常

1.先建立一個ExceptionController的controller,然後新增@ControllerAdvice的註解在類上

 2.在其他controller裡面寫兩個測試方法

3.自定義的jsp頁面

4.進行訪問

  • 在@controllerAdvice類中,可以定義多個方法,分類處理異常,並且返回不同的頁面;

  • 如果沒有精確異常匹配的處理方法,預設走Excpetion異常處理方法,如果有就執行精確異常匹配處理的方法;

  • 異常處理類中,可以獲取所有的異常都拿excepion來接收,也可以明確指定哪個異常,跟上下順序無關,有明確指定的異常會找明確指定的,沒有就找父類。