1. 程式人生 > >SpringMVC框架異常處理器

SpringMVC框架異常處理器

系統中異常包括兩類:預期異常和執行時異常RuntimeException,前者通過捕獲異常從而獲取異常資訊,後者主要通過規範程式碼開發、測試通過手段減少執行時異常的發生。

自定義異常類:

//自定義異常類
	@RequestMapping("/list4")
	public String list3(Model m){
		if(true)
			throw new RuntimeException("有錯誤!!!");
		return "list1";
	}

自定義異常處理器:

//自定義異常處理器
@Component
public class MyExceptionHandler implements HandlerExceptionResolver {

	@Override
	public ModelAndView resolveException(HttpServletRequest request,
			HttpServletResponse response, Object asource, Exception e) {
		// TODO Auto-generated method stub
		ModelAndView mvc = new ModelAndView();
		if(e instanceof RuntimeException){
			mvc.setViewName("error");  //顯示到jsp頁面上
			mvc.addObject("ERROR",e);   //鍵值對
		}else{
			
		}
		return mvc;
	}

}

當沒有異常處理器時,只會執行RuntimeException("有錯誤!!!");報出異常。

當有異常處理器時,遇到RuntimeException("有錯誤!!!");就會交給Spring框架的異常處理器來處理,所以異常處理器裡的程式碼也會執行。所以可以將異常處理寫到頁面上。

以前異常處理需要在配置檔案裡進行配置。現在不用在配置檔案裡配置了。直接寫好異常類和異常處理器就可以了運行了。