国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務器之家 - 編程語言 - Java教程 - Java Springboot全局異常處理

Java Springboot全局異常處理

2022-03-08 13:42超多多和劉寶寶的代碼世 Java教程

這篇文章主要給大家介紹了關于Springboot全局異常處理的資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用SpringBoot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

對于作為菜鳥程序員的我來說,經(jīng)常在controller使用try-catch 來包裹住我的service層代碼,首頁,他及其的不好看,其次,每個方法都有這種代碼塊,思考有沒有辦法去掉它,并且優(yōu)雅的處理異常。這就是今天要說的全局異常捕獲

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、思路?

springboot提供了全局異常處理的注解,我們需要弄明白的是。撲捉什么異常,結果如果返回,如何優(yōu)雅的管理返回的結果集。

二、步驟

1.自定義接口:

自定義接口主要是描述返回的code碼和返回msg,自定義錯誤描述枚舉需要實現(xiàn)這個接口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public interface ErrorType {
    /**
     * 返回code
     *
     * @return
     */
    String getCode();
    /**
     * 返回mesg
     *
     * @return
     */
    String getMesg();
}

2.自定義錯誤枚舉

使用枚舉,看起來代碼很優(yōu)雅,并且不用使用static final來定義類型。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Getter
public enum SystemErrorType implements ErrorType {
    SYSTEM_ERROR("-1", "系統(tǒng)異常"),
    SYSTEM_BUSY("000001", "系統(tǒng)繁忙,請稍候再試");
    /**
     * 錯誤類型碼
     */
    private String code;
    /**
     * 錯誤類型描述信息
     */
    private String mesg;
    SystemErrorType(String code, String mesg) {
        this.code = code;
        this.mesg = mesg;
    }
}

3.自定義異常類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Getter
public class MyException extends RuntimeException{
    /**
     * 異常對應的錯誤類型
     */
  private final ErrorType errorType;
   /**
    * 默認是系統(tǒng)異常
    */
   public MyException () {
       this.errorType = SystemErrorType.SYSTEM_ERROR;
   }
   public MyException(SystemErrorType systemErrorType) {
       this.errorType = systemErrorType;
    }

4.異常捕獲

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandlerAdvice extends DefaultGlobalExceptionHandlerAdvice {
    @ExceptionHandler(value = {MyException .class})
    public Result MyException (MyException ex) {
        log.error(ex.getMessage());
        return Result.fail(ex.getErrorType());
    }
    @ExceptionHandler(value = {NotRoleException.class})
    public Result NotRoleException(NotRoleException nle) {
        // 打印堆棧,以供調(diào)試
        //nle.printStackTrace();
        String message = "該功能僅供"+nle.getRole()+"使用!";
        // 返回給前端
        return Result.fail("090017",message,null);
    }
}

也不是說只能通過枚舉來返回,只要你的返回工具類支持參數(shù)填寫,可以做類似于第二種的返回,但是這樣方法對于返回的code來太好管理

5.在代碼中拋異常

比如我做判空處理時,利用枚舉作為參數(shù)返回

?
1
2
3
4
5
6
7
8
@PostMapping("/listQuestionVO")
public Result listQuestionBankVO(@RequestBody QuestionBankQuery query){
    if (query.getPageNum()==null || query.getPageSize()==null){
        return Result.fail(QuestionnaireErrorType.PARAMETERISNULL_ERROR);
    }
    Result result = questionBankService.listQuestionBankVO(query);
    return result;
}

實際上,你可以在你需要處理異常的地方直接throws異常,可以直接在方法上throws拋出,等待全局異常捕獲

總結

只要管理code到位,用返回類型的工具類來替換枚舉更適合小白

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內(nèi)容!

原文鏈接:https://blog.csdn.net/qq_48329942/article/details/121034245

延伸 · 閱讀

精彩推薦
457
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 99精品视频免费观看 | 日韩免费视频 | 亚洲成人精品在线 | 欧美一区二区免费在线 | 久久国产精品视频 | 九一视频在线观看 | 日韩av免费在线播放 | 九九导航 | 日韩电影中文字幕 | 日韩成人一级 | 日韩福利电影 | 亚洲精品国产一区 | 亚洲精品福利 | 久久亚洲黄色 | 亚洲精品国产第一综合99久久 | 成人av一区二区三区 | 91久久艹 | 蜜桃视频一区二区三区 | 日韩精品一二三区 | 国产精选一区二区三区不卡催乳 | 亚洲aⅴ天堂av在线电影软件 | 狠狠爱网站 | 国产精品视频在线播放 | 91av在线视频观看 | 国产激情网站 | www日本视频 | 最新国产精品精品视频 | 亚洲欧美在线精品 | 亚洲一区二区视频在线观看 | 国内自拍视频在线观看 | 欧美日韩国产一区二区三区不卡 | 激情综合五月 | av免费资源 | 免费精品视频 | 亚洲国产第一页 | 久久精品久久久 | 一级毛片免费完整视频 | 欧美综合网 | 国产精品久久久久久久一区探花 | 婷婷色av | 欧美一级片毛片免费观看视频 |