W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Spring的處理器異常解析器HandlerExceptionResolver
接口的實現(xiàn)負(fù)責(zé)處理各類控制器執(zhí)行過程中出現(xiàn)的異常。某種程度上講,HandlerExceptionResolver
與你在web應(yīng)用描述符web.xml
文件中能定義的異常映射(exception mapping)很相像,不過它比后者提供了更靈活的方式。比如它能提供異常被拋出時正在執(zhí)行的是哪個處理器這樣的信息。并且,一個更靈活(programmatic)的異常處理方式可以為你提供更多選擇,使你在請求被直接轉(zhuǎn)向到另一個URL之前(與你使用Servlet規(guī)范的異常映射是一樣的)有更多的方式來處理異常。
實現(xiàn)HandlerExceptionResolver
接口并非實現(xiàn)異常處理的唯一方式,它只是提供了resolveException(Exception, Hanlder)
方法的一個實現(xiàn)而已,方法會返回一個ModelAndView
。除此之外,你還可以框架提供的SimpleMappingExceptionResolver
或在異常處理方法上注解@ExceptionHandler
。SimpleMappingExceptionResolver
允許你獲取可能拋出的異常類的名字,并把它映射到一個視圖名上去。這與Servlet API提供的異常映射特性是功能等價的,但你也可以基于此實現(xiàn)粒度更精細(xì)的異常映射。而@ExceptionHandler
注解的方法則會在異常拋出時被調(diào)用以處理該異常。這樣的方法可以定義在@Controller
注解的控制器類里,也可以定義在@ControllerAdvice
類中,后者可以使該異常處理方法被應(yīng)用到更多的@Controller
控制器中。下一小節(jié)將提供更為詳細(xì)的信息。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: