1.新建一个异常处理类
package com.atguigu.springboot.exception;
public class UserNotExistException extends RuntimeException{
private void supper(String 用户不存在) {
}
public UserNotExistException() {
supper("用户不存在");
}
}
2.在控制器中设置错误抛出(自动识别是浏览器还是客户端)
@ResponseBody
@RequestMapping("/hello")
public String HelloWorld(@RequestParam("user") String user){
if(user.equals("aaa")){
throw new UserNotExistException();
}
return "Hello World";
}
3.当发生错误时,浏览器会自动识别要加载的页面(如果没有自己的页面,浏览器就用默认页面)。
- 自己页面命名规则:【将错误页面命名为 错误状态码.html 放在模板引擎文件夹里面的 error文件夹下】,发生此状态码的错误就会来到 对应的页面;
- 我们可以使用4xx和5xx作为错误页面的文件名来匹配这种类型的所有错误,精确优先(优先寻找精确的状态 码.html); 页面能获取的信息; timestamp:时间戳
status:状态码
error:错误提示
exception:异常对象
message:异常消息
errors:JSR303数据校验的错误都在这里
1)、没有模板引擎(模板引擎找不到这个错误页面),静态资源文件夹下找;
2)、以上都没有错误页面,就是默认来到SpringBoot默认的错误提示页面;
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
<h1>status:[[${status}]]</h1>
<h2>timestamp:[[${timestamp}]]</h2>>
<h2>exception:[[${exception}]]</h2>>
<h2>message:[[${message}]]</h2>>
</main>
页面会显示以上信息,其中message部分会显示super()中的内容