?
This document uses PHP Chinese website manual Release
當(dāng)與請求匹配的控制器處理請求時,可能會發(fā)生意料之外的異常。
Spring提供了HandlerExceptionResolvers
來減輕這些異常帶來的痛苦。
HandlerExceptionResolvers
有點像在Web應(yīng)用程序描述符web.xml
中定義的異常映射(exception mappings),
但是它處理異常的方式更加靈活。它可以提供當(dāng)異常被拋出時是什么處理程序在執(zhí)行的信息。
更進一步,一個以編程方式處理異常的途徑,讓你對于在請求被指向另一個URL(與使用按servlet的異常映射的最終結(jié)果一樣)之前如何恰當(dāng)?shù)捻憫?yīng)有了更多選擇。
實現(xiàn)HandlerExceptionResolver
接口很簡單,
只需實現(xiàn)resolveException(Exception,Handler)
方法,
并返回一個ModelAndView
,除此之外,
也可以直接使用SimpleMappingExceptionResolver
。
這個解析器允許你取得任何可能被拋出的異常的類名,并把它映射到一個視圖名。
這和Servlet API中提供的異常映射特性在功能上是相當(dāng)?shù)?,但是,它還允許對來自不同處理程序的異常實現(xiàn)更細(xì)粒度的異常映射。