思想:做一個全局異常處理器,處理所有沒有處理過的運作時異常用于更友好地提示使用者。
目錄
-
- 一.全局異常處理器
- 二.更智能、更友好的提示,解決方案
一.全局異常處理器
/**
* 全局異常處理器
* @author Steven
*
*/
public class CustomerException implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object hanlder,
Exception e) {
//記錄日志
e.printStackTrace();
//錯誤消息
String msg = "很抱歉,系統發生異常了,請聯系管理者";
//響應使用者錯誤提示
ModelAndView mav = new ModelAndView();
//傳回錯誤消息
mav.addObject("msg", msg);
//響應錯誤提示頁面
mav.setViewName("msg");
return mav;
}
}
配置異常處理器
測試通路queryVoid.action
二.更智能、更友好的提示,解決方案
建立自定義異常類
/**
* 自定義異常
* @author Steven
*
*/
public class MyException extends Exception {
//錯誤消息
private String msg;
public MyException() {
super();
}
public MyException(String msg) {
super();
this.msg = msg;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
修改異常處理器,加上異常判斷
測試通路queryVoid.action