SpringMVC框架異常處理器
阿新 • • 發佈:2018-11-19
系統中異常包括兩類:預期異常和執行時異常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框架的異常處理器來處理,所以異常處理器裡的程式碼也會執行。所以可以將異常處理寫到頁面上。
以前異常處理需要在配置檔案裡進行配置。現在不用在配置檔案裡配置了。直接寫好異常類和異常處理器就可以了運行了。