欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java異常處理攔截器詳情

 更新時(shí)間:2021年10月22日 10:41:06   作者:左直拳  
這篇文章主要介紹了java異常處理攔截器,使用異常處理攔截器,可以不用寫那么多try…catch…,下面就來學(xué)習(xí)關(guān)于java異常處理攔截器的詳情內(nèi)容吧,需要的朋友可以參考一下

使用異常處理攔截器,可以不用寫那么多try…catch…。

我有個(gè)功能,就是前端提交短信內(nèi)容到后端,后端進(jìn)行一系列的處理,其中是要將短信內(nèi)容提交到公共短信接口。微服務(wù)框架,公共短信接口是另外一個(gè)服務(wù)。這樣子就會(huì)有一個(gè)隱患,假如這個(gè)服務(wù)不開,或者因?yàn)榫W(wǎng)絡(luò)原因無法訪問,怎么辦?

可以原子操作,也可以重新提交啥的,不管怎么搞,錯(cuò)誤提示是避免不了的。問題是,系統(tǒng)赤裸裸的貼代碼的錯(cuò)誤提示方式,極不友好。應(yīng)當(dāng)捕獲這個(gè)錯(cuò)誤,然后改用較為友好的內(nèi)容進(jìn)行提示。

最原始的辦法,可以層層try…catch…,service一直到controller這里返回給前端。但未免太繁瑣,感覺很low。作為程序員,不應(yīng)當(dāng)這么機(jī)械。

參照網(wǎng)上辦法,在controller這里設(shè)置一個(gè)異常處理攔截器:

@RestController
@RequestMapping("sms/order")
public class DzSmsSendOrderController {
 
 。。。
 
    @ExceptionHandler(value = {
 RuntimeException.class})
    public ResultBody handleRuntimeException(Exception ex) throws Exception {
 
        if (ex.getMessage().indexOf("project-sms-api") != -1) {
 //鑒別一下是否為目標(biāo)異常
            return ResultBody.failed().msg("訪問短信接口失敗,請確認(rèn)相關(guān)服務(wù)是否已開啟");
        } else throw ex;
    }
}

這個(gè)ResultBody是一個(gè)自定義的對(duì)象,前端根據(jù)其返回的編號(hào)等判斷是否成功。

@ApiModel(value = "響應(yīng)結(jié)果")
public class ResultBody<T> implements Serializable {
 
 。。。
 
    public static ResultBody failed() {
 
        return new ResultBody().code(ErrorCode.FAIL.getCode()).msg(ErrorCode.FAIL.getMessage());
    }
    
    @Override
    public String toString() {
 
        return "ResultBody{" +
                "code=" + code +
                ", message='" + message + '\'' +
                ", path='" + path + '\'' +
                ", data=" + data +
                ", httpStatus=" + httpStatus +
                ", extra=" + extra +
                ", timestamp=" + timestamp +
                '}';
    }
}

public enum ErrorCode {
 
    OK(0, "success"),
    FAIL(1000, "fail"),
    ALERT(1001, "alert"),
}

前端就根據(jù)這個(gè)code,來判斷成功與否。

到此這篇關(guān)于java異常處理攔截器詳情的文章就介紹到這了,更多相關(guān)java異常處理攔截器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 你真的會(huì)使用Java的方法引用嗎

    你真的會(huì)使用Java的方法引用嗎

    這篇文章主要給大家介紹了關(guān)于Java方法引用的相關(guān)資料,方法引用是Java8的新特性,方法引用其實(shí)也離不開Lambda表達(dá)式,本文通過示例代碼介紹的很詳細(xì),需要的朋友可以參考下
    2021-08-08
  • Java Class 解析器實(shí)現(xiàn)方法示例

    Java Class 解析器實(shí)現(xiàn)方法示例

    這篇文章主要通過對(duì)class文件的分析,介紹了Java Class 解析器實(shí)現(xiàn)方法示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-09-09
  • 關(guān)于Spring的AnnotationAwareAspectJAutoProxyCreator類解析

    關(guān)于Spring的AnnotationAwareAspectJAutoProxyCreator類解析

    這篇文章主要介紹了關(guān)于Spring的AnnotationAwareAspectJAutoProxyCreator類解析,Spring是一個(gè)開源免費(fèi)的框架 , 容器,是一個(gè)輕量級(jí)的框架 ,需要的朋友可以參考下
    2023-05-05
  • java如何使用Lombok更優(yōu)雅地編碼

    java如何使用Lombok更優(yōu)雅地編碼

    Lombok能通過注解的方式,在編譯時(shí)自動(dòng)為屬性生成構(gòu)造器、getter/setter、equals、hashcode、toString方法。這樣就省去了手動(dòng)重建這些代碼的麻煩,使代碼看起來更簡潔些。下面我們來詳細(xì)學(xué)習(xí)下吧
    2019-06-06
  • java8新特性之接口的static和default的使用

    java8新特性之接口的static和default的使用

    這篇文章主要介紹了java8新特性之接口的static和default的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 詳解如何為SpringBoot Web應(yīng)用的日志方便追蹤

    詳解如何為SpringBoot Web應(yīng)用的日志方便追蹤

    在Web應(yīng)用程序領(lǐng)域,有效的請求監(jiān)控和可追溯性對(duì)于維護(hù)系統(tǒng)完整性和診斷問題至關(guān)重要,SpringBoot是一種用于構(gòu)建Java應(yīng)用程序的流行框架,在本文中,我們探討了在SpringBoot中向日志添加唯一ID的重要性,需要的朋友可以參考下
    2023-11-11
  • java在網(wǎng)頁上面抓取郵件地址的方法

    java在網(wǎng)頁上面抓取郵件地址的方法

    這篇文章主要介紹了java在網(wǎng)頁上面抓取郵件地址的方法,是比較典型的Java正則匹配應(yīng)用實(shí)例,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • 基于SPRINGBOOT配置文件占位符過程解析

    基于SPRINGBOOT配置文件占位符過程解析

    這篇文章主要介紹了基于SPRINGBOOT配置文件占位符過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 淺談Java中的高精度整數(shù)和高精度小數(shù)

    淺談Java中的高精度整數(shù)和高精度小數(shù)

    本篇文章主要介紹了淺談Java中的高精度整數(shù)和高精度小數(shù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • SpringAOP實(shí)現(xiàn)自定義接口權(quán)限控制

    SpringAOP實(shí)現(xiàn)自定義接口權(quán)限控制

    本文主要介紹了SpringAOP實(shí)現(xiàn)自定義接口權(quán)限控制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11

最新評(píng)論