1.搭建SpringBoot的开发环境,
2.编写一个自定义异常,自定义异常需要继承RuntimeException。写一个构造函数,并调用父类保存异常信息。
public class MyException extends RuntimeException { public MyException(String massage) { super(massage); }}
3.编写一个控制器,用于抛出异常。当请求参数param=aa时抛出异常,否则不抛出异常。
@Controllerpublic class MyController { @ResponseBody @RequestMapping("/exception") public String ee(String param){ if(param.equals("aa")){ throw new MyException("抛出自定义异常"); } return "没有抛出异常"; }}
当控制器抛出自定义异常时,这是服务器会发生状态码为500的错误。springboot自带的异常界面不是很友好,我们可以定制一个异常界面用于显示异常信息,看下一步骤。
4.定制自定义异常处理界面。springboot自动配置了视图解析器,我们可以编写一个500.html放在classpath:tempaltes/error目录下。
500.html代码如下(用的是thymeleaf渲染):