首先需要定义一个实体类保存统一异常信息:
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”></1bean>
最后在service层中将异常抛到controller层,controller会统一将异常在异常处理器中进行处理