SpringBoot2.0 基础案例(03):配置系统全局异常映射处理
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot2.0 基础案例(03):配置系统全局异常映射处理
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、異常分類
這里的異常分類從系統(tǒng)處理異常的角度看,主要分類兩類:業(yè)務(wù)異常和系統(tǒng)異常。
1、業(yè)務(wù)異常
業(yè)務(wù)異常主要是一些可預(yù)見(jiàn)性異常,處理業(yè)務(wù)異常,用來(lái)提示用戶的操作,提高系統(tǒng)的可操作性。
常見(jiàn)的業(yè)務(wù)異常提示: 1)請(qǐng)輸入xxx 2)xxx不能為空 3)xxx重復(fù),請(qǐng)更換2、系統(tǒng)異常
系統(tǒng)異常主要是一些不可預(yù)見(jiàn)性異常,處理系統(tǒng)異常,可以讓展示出一個(gè)友好的用戶界面,不易給用戶造成反感。如果是一個(gè)金融類系統(tǒng),在用戶界面出現(xiàn)一個(gè)系統(tǒng)異常的崩潰界面,很有可能直接導(dǎo)致用戶流失。
常見(jiàn)的系統(tǒng)異常提示: 1)頁(yè)面丟失404 2)服務(wù)器異常500二、解決應(yīng)用啟動(dòng)后404界面
1、引入頁(yè)面Jar包
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>2、自定義首頁(yè)接口
import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class IndexController {@RequestMapping("/")public String index(ModelMap modelMap) {modelMap.addAttribute("name","知了一笑") ;return "index";} }3、首頁(yè)界面
<!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8" /><title></title> </head> <body> <h1 th:text="${name}"></h1> </body> </html>4、運(yùn)行效果
三、SpringBoot2.0中異常處理
1、項(xiàng)目結(jié)構(gòu)圖
2、自定義業(yè)務(wù)異常類
public class ServiceException extends Exception {public ServiceException (String msg){super(msg);} }3、自定義異常描述對(duì)象
public class ReturnException {// 響應(yīng)碼private Integer code;// 異常描述private String msg;// 請(qǐng)求的Urlprivate String url;// 省略 get set 方法 }4、統(tǒng)一異常處理格式
1)兩個(gè)基礎(chǔ)注解
@ControllerAdvice 定義統(tǒng)一的異常處理類
@ExceptionHandler 定義異常類型對(duì)應(yīng)的處理方式
2)代碼實(shí)現(xiàn)
5、簡(jiǎn)單的測(cè)試接口
@Controller public class ExeController {/*** {* "code": 600,* "msg": "業(yè)務(wù)異常:ID 不能為空",* "url": "http://localhost:8003/exception01"* }*/@RequestMapping("/exception01")public String exception01 () throws ServiceException {throw new ServiceException("業(yè)務(wù)異常:ID 不能為空");}@RequestMapping("/exception02")public String exception02 () throws Exception {throw new Exception("出現(xiàn)異常,全體臥倒");} }四、源代碼地址
GitHub:知了一笑 https://github.com/cicadasmile/spring-boot-base
總結(jié)
以上是生活随笔為你收集整理的SpringBoot2.0 基础案例(03):配置系统全局异常映射处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 公共闪存接口CFI在Flash Memo
- 下一篇: 微信和钉钉电脑客户端多开的解决方法(Wi