异常处理:
当controller中方法在执行过程中如果出现异常,我们应该如何处理异常这种方式,称之为异常处理。
1、传统方式开发异常处理
HandlerExceptionResolver 处理异常解析类
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//传统方式处理异常以及自定义异常
@Component
public class GlobalExceptionResolver implements HandlerExceptionResolver
{
//resolveException:当Controller中任意一个方法出现异常时,如果该控制器的方法没有自己处理异常(try catch),则会进入此方法
//参数一 request:当前请求对象
//参数二 response:当前请求对应响应对象
//参数三 o:当前出现错误的方法对象
//参数四 e:出现的异常对象
@Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e)
{
ModelAndView modelAndView = new ModelAndView();
if(e instanceof MyException)
{
modelAndView.setViewName("MyException.html");
}
else
{
modelAndView.setViewName("500.html");
}
return modelAndView;
}
}
//自定义异常
public class MyException extends RuntimeException
{
public MyException()
{
}
public MyException(String message)
{
super(message);
}
}
原文:https://www.cnblogs.com/wanhui/p/15181217.html