中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot中自定義異常以及定制異常界面實現過程解析

發布時間:2020-08-21 07:51:31 來源:腳本之家 閱讀:182 作者:shun-w 欄目:編程語言

不多說廢話,直接進入主菜!!

步驟:

1.搭建SpringBoot的開發環境,略(有不會的可以私信我)。

2.編寫一個自定義異常,自定義異常需要繼承RuntimeException。寫一個構造函數,并調用父類保存異常信息。

public class MyException extends RuntimeException {
  public MyException(String massage) {
    super(massage);
  }
}

3.編寫一個控制器,用于拋出異常。當請求參數param=aa時拋出異常,否則不拋出異常。

@Controller
public 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渲染):

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
status: [[${status}]] <br>
timestamp: [[${timestamp}]] <br>
message: [[${message}]] <br>
exception: [[${exception}]] <br>
</body>
</html>

代碼已經編寫完畢,來看看效果吧!

當我們訪問 http://localhost/exception?param=aa時拋出異常,結果如下:

springboot中自定義異常以及定制異常界面實現過程解析

訪問 http://localhost/exception?param=bb,不會拋出異常,結果如下:

springboot中自定義異常以及定制異常界面實現過程解析

** 舉一反三:在用戶管理系統中,我們可以自定義用戶不存在異常類,當查詢某個不存在的用戶時,讓控制器拋出用戶不存在異常,并跳轉到一個友好的提示界面。

搶票系統,當用戶購買的票已經賣完,我們可以拋出一個自定義的票已經沒有的異常,并跳轉到一個友好的提示界面。 **

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥化市| 镇巴县| 西盟| 吉林市| 偏关县| 鄯善县| 罗城| 桂东县| 黄山市| 额敏县| 当阳市| 肃北| 永和县| 万盛区| 松桃| 云林县| 江源县| 长沙县| 东方市| 高密市| 汶川县| 蒲城县| 皋兰县| 根河市| 奈曼旗| 托克逊县| 陆良县| 汕尾市| 通许县| 财经| 宝兴县| 长汀县| 丹棱县| 上蔡县| 商都县| 上林县| 阿城市| 绵竹市| 秦皇岛市| 桃源县| 康马县|