天天看點

Springmvc中異常處理

思想:做一個全局異常處理器,處理所有沒有處理過的運作時異常用于更友好地提示使用者。

目錄

    • 一.全局異常處理器
    • 二.更智能、更友好的提示,解決方案

一.全局異常處理器

/**
 * 全局異常處理器
 * @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;
	}
}
           

配置異常處理器

Springmvc中異常處理

測試通路queryVoid.action

Springmvc中異常處理

二.更智能、更友好的提示,解決方案

建立自定義異常類

/**
 * 自定義異常
 * @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;
	}
}
           

修改異常處理器,加上異常判斷

Springmvc中異常處理

測試通路queryVoid.action

Springmvc中異常處理

繼續閱讀