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()中的內容