Spring MVC通過HandlerExceptionResolver處理程序的異常,包括Handler映射、數(shù)據(jù)綁定以及目標(biāo)方法執(zhí)行時(shí)發(fā)生的異常。
HandlerExceptionResolver是一個(gè)接口。

ExceptionHandlerExceptionResolver
?主要處理Handler中用@ExceptionHandler注解定義的方法。
? @ExceptionHandler注解定義的方法優(yōu)先級(jí)問題:例如發(fā)生的是NullPointerException,但是聲明的異常有RuntimeException和Exception,此候會(huì)根據(jù)異常的最近繼承關(guān)系找到繼承深度最淺的那個(gè)@ExceptionHandler注解方法,即標(biāo)記了RuntimeException的方法
? ExceptionHandlerMethodResolver內(nèi)部若找不到@ExceptionHandler注解的話,會(huì)找@ControllerAdvice中的@ExceptionHandler注解方法
當(dāng)前Handler處理異常

index.jsp

error.jsp

success.jsp

當(dāng)前Handler的異常處理
全局的異常處理

全局異常處理