1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        公司這套架構(gòu)統(tǒng)一處理 try...catch 這么香,求求你不要再滿屏寫了,再發(fā)現(xiàn)扣績效!

        共 7530字,需瀏覽 16分鐘

         ·

        2021-03-19 11:15


        點擊上方 藍(lán)字 關(guān)注我們!



        Java,Python,C/C++,Linux,PHP,Go,C#,QT,大數(shù)據(jù),算法,軟件教程,前端,簡歷,畢業(yè)設(shè)計等分類,資源在不斷更新中... 點擊領(lǐng)取!

        每天 11 點更新文章,餓了點外賣,點擊 ??《無門檻外賣優(yōu)惠券,每天免費領(lǐng)!》

        來源:toutiao.com/i6878184496945070604/

        • 前言
        • 推薦理由
        • 實踐
          • 1 封裝統(tǒng)一返回結(jié)果類
          • 2 自定義異常封裝類
          • 3 錯誤枚舉,拒絕硬編碼
          • 4 全局異常處理類
          • 5 測試

        前言

        軟件開發(fā)springboot項目過程中,不可避免的需要處理各種異常,spring mvc 架構(gòu)中各層會出現(xiàn)大量的try {...} catch {...} finally {...} 代碼塊,不僅有大量的冗余代碼,而且還影響代碼的可讀性。這樣就需要定義個全局統(tǒng)一異常處理器,以便業(yè)務(wù)層再也不必處理異常。

        推薦理由

        • 代碼復(fù)制到項目中通過簡單的配置即可實現(xiàn)
        • 可以靈活的根據(jù)自己的業(yè)務(wù)異常進(jìn)行更細(xì)粒度的擴(kuò)展

        實踐

        1 封裝統(tǒng)一返回結(jié)果類

        開發(fā)好物推薦5之統(tǒng)一異常處理從此拋棄try與catch

        源代碼

        public class AjaxResult {
         //是否成功
            private Boolean success;
            //狀態(tài)碼
            private Integer code;
            //提示信息
            private String msg;
            //數(shù)據(jù)
            private Object data;
            public AjaxResult() {

            }
            //自定義返回結(jié)果的構(gòu)造方法
            public AjaxResult(Boolean success,Integer code, String msg,Object data) {
                this.success = success;
                this.code = code;
                this.msg = msg;
                this.data = data;
            }
            //自定義異常返回的結(jié)果
            public static AjaxResult defineError(BusinessException de){
             AjaxResult result = new AjaxResult();
                result.setSuccess(false);
                result.setCode(de.getErrorCode());
                result.setMsg(de.getErrorMsg());
                result.setData(null);
                return result;
            }
            //其他異常處理方法返回的結(jié)果
            public static AjaxResult otherError(ErrorEnum errorEnum){
             AjaxResult result = new AjaxResult();
                result.setMsg(errorEnum.getErrorMsg());
                result.setCode(errorEnum.getErrorCode());
                result.setSuccess(false);
                result.setData(null);
                return result;
            }
         public Boolean getSuccess() {
          return success;
         }
         public void setSuccess(Boolean success) {
          this.success = success;
         }
         public Integer getCode() {
          return code;
         }
         public void setCode(Integer code) {
          this.code = code;
         }
         public String getMsg() {
          return msg;
         }
         public void setMsg(String msg) {
          this.msg = msg;
         }
         public Object getData() {
          return data;
         }
         public void setData(Object data) {
          this.data = data;
         }

        }

        2 自定義異常封裝類

        開發(fā)好物推薦5之統(tǒng)一異常處理從此拋棄try與catch

        源碼:

        public class BusinessException extends RuntimeException {
         private static final long serialVersionUID = 1L;
         /**
          * 錯誤狀態(tài)碼
          */

         protected Integer errorCode;
         /**
          * 錯誤提示
          */

         protected String errorMsg;

         public BusinessException(){

             }

         public BusinessException(Integer errorCode, String errorMsg) {
                 this.errorCode = errorCode;
                 this.errorMsg = errorMsg;
             }

         public Integer getErrorCode() {
          return errorCode;
         }

         public void setErrorCode(Integer errorCode) {
          this.errorCode = errorCode;
         }

         public String getErrorMsg() {
          return errorMsg;
         }

         public void setErrorMsg(String errorMsg) {
          this.errorMsg = errorMsg;
         }
        }

        3 錯誤枚舉,拒絕硬編碼

        開發(fā)好物推薦5之統(tǒng)一異常處理從此拋棄try與catch

        源碼

        public enum ErrorEnum {
         // 數(shù)據(jù)操作錯誤定義
         SUCCESS(200"成功"),
         NO_PERMISSION(403,"你沒得權(quán)限"),
         NO_AUTH(401,"未登錄"),
         NOT_FOUND(404"未找到該資源!"),
         INTERNAL_SERVER_ERROR(500"服務(wù)器異常請聯(lián)系管理員"),
         ;

         /** 錯誤碼 */
         private Integer errorCode;

         /** 錯誤信息 */
         private String errorMsg;

         ErrorEnum(Integer errorCode, String errorMsg) {
          this.errorCode = errorCode;
          this.errorMsg = errorMsg;
         }

            public Integer getErrorCode() {
                return errorCode;
            }

            public String getErrorMsg() {
                return errorMsg;
            }
        }

        4 全局異常處理類

        開發(fā)好物推薦5之統(tǒng)一異常處理從此拋棄try與catch

        源碼

        /**
         * 全局異常處理器
         *
         */

        @RestControllerAdvice
        public class GlobalExceptionHandler
        {
            private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);



            /**
             * 處理自定義異常
             */

            @ExceptionHandler(value = BusinessException.class)
            public AjaxResult bizExceptionHandler(BusinessException e
        {
             log.error(e.getMessage(), e);
                return AjaxResult.defineError(e);
            }

            /**
             * 處理其他異常
             */

            @ExceptionHandler(value = Exception.class)
            public AjaxResult exceptionHandlerException e
        {
              log.error(e.getMessage(), e);
                return AjaxResult.otherError(ErrorEnum.INTERNAL_SERVER_ERROR);

            }

        }

        5 測試

        開發(fā)好物推薦5之統(tǒng)一異常處理從此拋棄try與catch

        返回結(jié)果:

        開發(fā)好物推薦5之統(tǒng)一異常處理從此拋棄try與catch

        大家好,我是艿艿~~~一個每天肝到 2 點鐘的小胖子

        最近在和朋友一起肝一個 SpringBoot2.4.2 + Vue 的開源項目:

        https://github.com/YunaiV/ruoyi-vue-pro

        記得 Star 關(guān)注下噢,胖友們的支持,真的很重要!

        往期推薦

        華為 Java 編程軍規(guī) !

        干飯時間到,補(bǔ)貼大戰(zhàn)再起!

        IDEA 熱部署神器 JRebel ,提升開發(fā)效率10倍!

        API接口的安全設(shè)計驗證:ticket,簽名,時間戳

        看完文章,餓了點外賣,點擊 ??《無門檻外賣優(yōu)惠券,每天免費領(lǐng)!》

        END



        若覺得文章對你有幫助,隨手轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動力。


        長按二維碼,掃掃關(guān)注哦

        ?「C語言中文網(wǎng)」官方公眾號,關(guān)注手機(jī)閱讀教程 ?


        必備編程學(xué)習(xí)資料


        目前收集的資料包括: Java,Python,C/C++,Linux,PHP,go,C#,QT,git/svn,人工智能,大數(shù)據(jù),單片機(jī),算法,小程序,易語言,安卓,ios,PPT,軟件教程,前端,軟件測試,簡歷,畢業(yè)設(shè)計,公開課 等分類,資源在不斷更新中...


        點擊“閱讀原文”,立即免費領(lǐng)取最新資料!
        ??????
        https://mp.weixin.qq.com/s/2WFbD0y6ct13gnR8m0xiaQ


        瀏覽 39
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久性| 翔田千里一区二区三区精品播放| 9191久久| 日韩无码专区电影| 68久久久| 国产三级毛片| 亚洲永久| 瑟瑟视频在线观看| 91网站在线看| 中文在线永久免费观看| 你懂的在线网站| 国产AV无码成人精品区| 黄色免费观看网站| 色吊丝中文字幕| 黄色在线播放| 欧美日韩国产91| 亚洲Av秘无码一区二区| 国产一级AA片| 欧美51精品| 亚洲三级自拍| 可以看的三级网站| 成人做爰100部片视频| 国产狂喷水潮免费网站www| 国产av资源| 亚洲日韩在线视频| 亚洲无码偷拍| 免费黄色在线| 波多野结衣不卡| 中文字幕精品视频| 久久精品视频在线观看| 日本黄色视频免费观看| 久久99热这里只频精品6学生| 色999| 影音AV| 国产色情视频| 在线免费看AV| 97激情| 国产又爽又黄免费视频免费 | 日韩欧美黄色片| 亚洲中文字幕无码爆乳av| 777国产盗摄偷窥精品0000| 欧美精品无码一区二区| 婷婷五月在线播放| 麻豆福利在线| 国产精品色婷婷99久久精品| 成人精品网| 欧美久久一区二区三区四区视频| 11孩岁女精品A片BBB| 伊人久综合| 一本视频| 97中文在线| 四虎av在线播放| 肉色超薄丝袜脚交一区二区| 国产午夜福利视频在线观看| 91精品国产一区二区三区四区大| 中文字幕精品一区久久久久| 性欧美日韩| 成人中文字幕在线视频| 欧美激情一区二区A片成人牛牛| 日韩毛片在线免费观看| 无码在线看| 最近最火中文字幕mv歌词| 国产日韩欧美91| 黄色一级大片在线免费看产| 亚洲秘无码一区二区三区电影| 国产高潮又爽又无遮挡又免费| 又黄又色的视频| 逼逼影院| 男女操逼视频网站| 四虎成人精品在永久免费| 天堂俺去俺来也www久久婷婷 | 亚洲群交| 一区二区免费视频| 亚洲日韩乱码在线| 国产av一二三区| 18禁网站在线看| 怕怕怕视频| 91国产精品在线视频| 日韩极品在线观看| 黄色视频免费观看国产| 激情网站在线| 国产精品久久免费| 河南熟妇搡BBBB搡BBBB| 欧美操BB| 日韩2区| 日韩成人无码电影| 国产久久久久久久| 丰满BBwBBwBBwBBW| 麻豆乱伦| 日本成人视频在线免费播放| 99性视频| 精品乱子伦一区二区三区下载| 91av在线免费播放| 日韩人妻久久| 欧美插菊花综合网| 男女啪啪国产| 久久综合伊人777777| 丁香婷婷五月色成人网站| 肉乳无码A片av| 日本中文字幕电影| 麻豆操逼| 日韩视频在线播放| 久久Av电影| 日韩AV无码专区亚洲AV紧身裤| 精品中文视频| 91精品视频在线免费观看| 成人免费乱码大片a毛片蜜芽| 久久蜜桃视频| 91无码人妻一区二区成人AⅤ| 蜜臀AV成人精品| av黄色在线观看| 中文字幕av在线观看| 成人在线乱码视频| 欧美激情性爱网站| 黄色搞逼视频| 牛牛在线精品视频| 亚洲精品免费在线观看| 天堂中文资源库| 国产成人无码区免费AV片在线| 在线无码AV| 伊人网在线播放| 在线免费看AV片| 最新毛片网站〖网:.〗| 爱爱视频天天操| 天啪| 国产迷奸视频| 91爱爱网| 麻豆AV在线| 91麻豆大奶巨乳一区白虎| 天天撸免费视频| 精品久久久久久亚洲| 亚洲污污| 在线久草| 日韩欧美中文| 18禁在线| 亚洲精品视频在线观看网站| 五月婷婷黄色| 少妇人妻在线| 人操人妻| 欧美色视频在线观看| 高清无码在线观看18| 人人妻人人摸| 亚洲三区视频| 国产无限资源| 91麻豆一区| 东北老女人操逼视频| 精品无码免费| a片在线免费观看| 日韩大码无码| 中文字幕在线视频无码| 少妇无码在线| 精品免费在线观看| 今天成全在线观看高清| 亚洲日韩在线视频| 91麻豆天美传媒在线| 亚洲区一区二| 久久播视频| AV黄色在线观看| 99啪啪| 日本高清视频网站网wwwwww| 激情a| 中文字幕中文| 蜜桃精品视频在线观看| 欧美高清性XXXXHDvideosex| 91在线精品视频| 国产逼逼| 日韩在线91| 在线久草| 欧美日韩成人在线视频| 99偷拍| 日韩无码不卡电影| 69综合| 97人人精品| 久久精品视频免费观看| 亚洲群交| 国产精品一级A片| 亚洲日韩国产成人精品久久| 日韩在线播放视频| 精品不卡| AⅤ中文字幕在线免费观看| 免费视频一二区| 五月丁香婷婷基地| 亚洲av免费看| 午夜福利码一区二区| 欧美狼友| 啪啪免费| 亚洲成色A片77777在线小说| 日韩极品视频| 天堂无线av无码av| 操逼爆奶网站| 亚洲.无码.制服.日韩.中文字幕 | 在线aaa| 五月开心激情网| 日韩人妻丰满无码区A片| 免费看黄片| 国产乱子伦一区二区三区免看 | 免费在线观看黄片| 大学生18一19GAY169| 黄色在线视频观看| 国产精品色8| 欧美在线播放| 2019中文字幕mv第三季歌词| 麻豆视频一区二区三区| 成人在线黄色| 欧美成人综合| 天天干在线观看视频| 无码aⅴ| 蜜桃视频成人app| 中文字幕无码不卡| 伊人影院在线免费观看| 内射熟妇| 91久久国产性奴调教| 中文字幕在线观看辣文| 中文字幕东京热| 日韩一级二级三级| 欧美日韩91| 午夜午夜福利理论片在线播放| 91二区三区| 69pao| 欧美日韩a| 大香蕉在线99| 欧美日韩小电影| 色婷婷一区二区| 亚洲高清无码电影| 北京熟妇搡BBBB搡BBBB电影| 成人视频一区| 操逼在线视频| 加勒比无码综合| 91大神在线观看入口| 天天日天天射天天干| 中文字幕在线观看完整av| 日韩第一色| 波多野结衣av中文字幕| 欧美日韩a| 中文字幕特黄A片| 草草视频在线观看| 99r| 操欧美女人| 国产成人精品免费看视频| 亚洲高清无码中文字幕| 亚洲第一区欧美日韩| 在线免费观看成人视频| AV无码观看| 丁香婷婷五月| 青娱乐一级无码| www男人天堂| 免费黄色在线| 四川少妇bbb| 韩国无码片| 69AV在线| 91无码一区二区| 亚洲天堂AV网| 91AV在线播放| 无码观看视频| 亚洲欧美高清| 色久综合| 蜜桃传媒一区二区| 欧美一级三级| 中文字幕五月久久| 无码视频免费观看| 国产最新福利| 成人网站毛片| 日本高清一区二区高清免费视频 | 我要操网站| 18禁黄网站| 久久久久久久久久久久高清毛片一级 | 日韩无码二级| 亚洲人成人无码一区二区三区| 欧美日韩国产成人| 亚洲日韩一区二区三区| 一区二区三区免费播放| 少妇搡BBBB搡BBB搡澳门| 日韩无码人妻视频| 国产乱码一区二区三区的区别| 天堂中文在线视频| 色婷婷Av一区| 久久久8| 无码人妻一区二区三区免费九色| 丁香婷婷网| 狠狠操狠狠操狠狠操| 白虎高清无码大尺度免费在线观看| 日韩欧美在线一区| 国产精品热| 午夜亚洲福利视频| 亚洲激情无码视频| 中文字幕无码在线播放| 91成人在线影院| 色情片在线观看| 亚洲无码视频在线| 69人人| 午夜激情AV| 一级黄A片| 中国一级黄色毛片| 六月婷婷五月丁香| 夜夜嗨AⅤ一区二区三区| 黄色A片在线观看| 米奇电影777无码| 国产骚女| 亚洲日韩中文字幕在线观看| 大肉大捧一进一出免费阅读|