配置环境跳过
首先需要一个继承Exception类的子类如下用于存取错误信息以及自定义异常处理类
package com.qst.exception;
/*
* 自定义异常类
*/
public class SysException extends Exception {
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public SysException(String message) {
this.message = message;
}
}
在spring mvc中处理自定义异常需要继承一个接口HandlerExceptionResolver
package com.qst.exception;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
/*
* 异常处理器
*/
public class SysExceptionResolve implements HandlerExceptionResolver {
/*
* 处理异常参数
* ex对象就是SysException这个对象
* @see org.springframework.web.servlet.HandlerExceptionResolver#resolveException(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, java.lang.Exception)
*/
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
Exception ex) {
//准备获取异常对象
SysException e =null;
if(ex instanceof SysException) {
e =(SysException) ex;
}else {
e = new SysException("系统正在维护");
}
ModelAndView mv = new ModelAndView();
mv.addObject("errorMsg", e.getMessage());
mv.setViewName("error");
return mv;
}
}
这样准备工作就完成了
throw new SysException("查询用户错误");
在catch语句块中新建异常抛出类 并给他一个信息
最后在配置文件中使这个类SysExceptionResolve生效
<!-- 异常处理器 -->
<bean id="SysExceptionResolve" class="com.qst.exception.SysExceptionResolve"></bean>