spring的统一异常处理

首先需要定义一个实体类保存统一异常信息:

public class Exceptions extends Exception {
public String message;

public Exceptions(String message) {
    super(message);
    this.message = message;
}


@Override
public String getMessage() {
    return message;
}

public void setMessage(String message) {
    this.message = message;
}

}

再定义一个统一异常处理器:

public class ExceptionResolver implements HandlerExceptionResolver {
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
String ex = null;
if(e instanceof Exceptions){
ex=((Exceptions)e).getMessage();
}else{
ex=“未知错误”;
}
ModelAndView mv=new ModelAndView();
mv.addObject(“message”, ex);
mv.setViewName(“error”);
return mv;
}
}
定义好统一异常处理器之后需要在spring.xml中进行配置:
<1bean class=“com.honger.exception.ExceptionResolver”>
最后在service层中将异常抛到controller层,controller会统一将异常在异常处理器中进行处理

你可能感兴趣的:(spring的统一异常处理)