国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java中的自定義異常處理機制

這篇具有很好參考價值的文章主要介紹了java中的自定義異常處理機制。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在日常開發(fā)中我們難免會遇到各種各樣的異常問題的發(fā)生,但是任何異常如果都在異??赡軙霈F(xiàn)的地方直接去處理會讓業(yè)務(wù)邏輯顯得很臃腫,代碼看上去很冗余。在開發(fā)Web應(yīng)用程序時,異常處理是一項非常重要的任務(wù)。異常處理可以提高程序的健壯性和穩(wěn)定性。Java后端開發(fā)人員可以設(shè)計一個統(tǒng)一的全局異常處理方案來解決異常處理的問題,避免代碼冗余,提高開發(fā)效率。在本文中,我們將介紹如何設(shè)計Java后端的全局異常處理方案。

什么是全局異常處理?

全局異常處理是一種將異常處理代碼從業(yè)務(wù)邏輯中分離出來的技術(shù)。

在這里分兩種全局異常處理的方式:

一、在Java中,全局異常處理使用@ControllerAdvice注解定義一個全局的異常處理類。在該類中,使用@ExceptionHandler注解捕獲異常并進行處理。使用全局異常處理技術(shù),可以統(tǒng)一處理異常,提高代碼的復(fù)用性,降低代碼的冗余度。

如下:

? ? // 全局異常處理類文章來源地址http://www.zghlxwxcb.cn/news/detail-712277.html

@Slf4j
@RestControllerAdvice // @ResponseBody+@ControllerAdvice注解的結(jié)合體,@ControllerAdvice注解表示該類是全局異常處理類
public class ExceptionDeal {

// 根據(jù)括號內(nèi)的異常種類,全局如有相應(yīng)的異常,則會被此注解捕獲,進行方法內(nèi)的下一步操作
@ExceptionHandler(ArithmeticException.class)
public String exceptions(ArithmeticException e) {
log.info("全局異常:{}",e.getMessage());
return "算法異常";
}

// 任何空指針異常會被該方法捕獲處理
@ExceptionHandler(NullPointerException.class)
public String exceptions1(NullPointerException e) {
log.info("全局異常:{}",e.getMessage());
return "空指針異常";
}
}

// 測試類
@RestController
@RequestMapping("/demo")
public class TestDemo {
@RequestMapping("/test")
public String getInfo(){
int a = 1/0;
return a+"";
}

@RequestMapping("/test1")
public String getInfos(){
String s=null;
BigDecimal bigDecimal = new BigDecimal(s);
return bigDecimal.toString();
}
}

二、利用面向切面編程(AOP)可以更方便地實現(xiàn)Java后端的全局統(tǒng)一異常處理。我們可以通過AOP將異常處理代碼從業(yè)務(wù)邏輯代碼中分離出來,降低代碼耦合度,提高代碼的可維護性和可擴展性。
@Component
@Aspect
@Slf4j
public class Aspects {

// 切入點(此處TestDemo類下的所有方法被執(zhí)行時,均會被切面捕獲處理)
@Pointcut("execution(* com.demo.controller.TestDemo.*(..))")
public void pt() {
}

// 制作切面
@Around("pt()")
public Object handleException(ProceedingJoinPoint pjp) throws Throwable {
Object result;
try {
result = pjp.proceed();
log.info("信息是:{}", result);
} catch (Exception e) {
log.info("異常信息:{}", e.getMessage());
return "切面捕獲異常成功!";
}
return result;
}
}
// 測試類
@RestController
@RequestMapping("/demo")
public class TestDemo {
@RequestMapping("/test")
public String getInfo(){
int a = 1/0;
return a+"";
}

@RequestMapping("/test1")
public String getInfos(){
String s=null;
BigDecimal bigDecimal = new BigDecimal(s);
return bigDecimal.toString();
}
}



到了這里,關(guān)于java中的自定義異常處理機制的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • java異常處理機制(二)之異常處理與捕獲

    java異常處理機制(二)之異常處理與捕獲

    1 Error(錯誤): 是指程序無法處理的錯誤,表示運行應(yīng)用程序時比較嚴重的問題。大多數(shù)錯誤與代碼編寫者執(zhí)行的操作無關(guān),而表示代碼運行時JVM(Java 虛擬機)出現(xiàn)的問題。 2 異常(Exception): 是指在程序執(zhí)行時由于程序處理邏輯上的錯誤而導(dǎo)致程序中斷的一種指令流。通俗的

    2024年02月05日
    瀏覽(21)
  • java異常處理機制(三)常見異常

    Java常見的異常包括但不限于以下幾種: 1. NullPointerException(空指針異常):當(dāng)試圖調(diào)用實例方法或訪問實例變量時,對象引用為 null 時拋出。 2. ArrayIndexOutOfBoundsException(數(shù)組越界異常):當(dāng)訪問數(shù)組中不存在的元素時拋出。 3. ClassCastException(類轉(zhuǎn)換異常):當(dāng)試圖將對象強

    2024年02月05日
    瀏覽(28)
  • 【JAVA 異常處理機制】

    【JAVA 異常處理機制】

    在Java編程中,異常處理是一種重要的機制,用于處理程序運行時可能出現(xiàn)的錯誤和異常情況。異常處理機制可以幫助開發(fā)者優(yōu)雅地處理異常,提高程序的健壯性和可靠性。 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 java中所有錯誤的超類為:Throwable。其下有兩個子類

    2024年02月11日
    瀏覽(21)
  • Java 異常處理機制(全)

    Java 異常處理機制(全)

    1.1? 異常定義 ??? (1)在使用計算機語言進行項目開發(fā)的過程中,即使程序員把代碼寫得盡善盡美,在系統(tǒng)的運行過程中仍然會遇到一些問題,因為很多問題不是靠代碼能夠避免的,比如:客戶輸入數(shù)據(jù)的格式,讀取文件是否存在,網(wǎng)絡(luò)是否始終保持通暢等等。 ??? (2)

    2024年02月08日
    瀏覽(24)
  • 最全最詳細的Java異常處理機制

    最全最詳細的Java異常處理機制

    ????????在使用計算機語言進行項目開發(fā)的過程中,即使程序員把代碼寫得盡善盡美,在系統(tǒng)的運行過程中仍然會遇到一些問題,因為很多問題不是靠代碼能夠避免的,比如:客戶輸入數(shù)據(jù)的格式,讀取文件是否存在,網(wǎng)絡(luò)是否始終保持通暢等等。 ?? ? ????????程序

    2024年01月23日
    瀏覽(22)
  • 9.Java中異常處理機制是什么

    一:try,catch捕獲異常 下面展示一些 內(nèi)聯(lián)代碼片 。 如果執(zhí)行try塊里的業(yè)務(wù)邏輯代碼時出現(xiàn)異常,系統(tǒng)自動生成一個異常對象,當(dāng)Java運行時環(huán)境收到異常對象時,會尋找能處理該異常對象的catch塊,如果找到合適的catch塊,則把該異常對象交給該catch塊處理,這個過程被稱為捕

    2024年02月01日
    瀏覽(24)
  • 從實體按鍵看 Android 車載的自定義事件機制

    從實體按鍵看 Android 車載的自定義事件機制

    在汽車數(shù)字化、智能化變革的進程中,越來越多的車機設(shè)計或部分、或全部地舍棄了實體按鍵,進而把車主操作的入口轉(zhuǎn)移到了車機 UI 以及語音助手。 但統(tǒng)一、高效的零層級 UI 頗為困難,語音的準確率、覆蓋率亦不夠完善,那么在當(dāng)下的階段適當(dāng)?shù)乇A舨糠謱嶓w按鍵是比較

    2024年02月16日
    瀏覽(19)
  • Java中的異常Exception和捕獲,自定義異常

    Java中的異常Exception和捕獲,自定義異常

    1.1 什么是程序的異常 ?在使用計算機語言進行項目開發(fā)的過程中,即使程序員把代碼寫得盡善盡美,在系統(tǒng)的運行過程中仍然會遇到一些問題,因為很多問題不是靠代碼能夠避免的。 異常 :指的是程序在執(zhí)行過程中,出現(xiàn)的非正常情況,如果不處理最終會導(dǎo)致JVM的非正常停

    2023年04月20日
    瀏覽(29)
  • 圖解transformer中的自注意力機制

    圖解transformer中的自注意力機制

    本文將將介紹注意力的概念從何而來,它是如何工作的以及它的簡單的實現(xiàn)。 在整個注意力過程中,模型會學(xué)習(xí)了三個權(quán)重:查詢、鍵和值。查詢、鍵和值的思想來源于信息檢索系統(tǒng)。所以我們先理解數(shù)據(jù)庫查詢的思想。 假設(shè)有一個數(shù)據(jù)庫,里面有所有一些作家和他們的書籍

    2024年02月09日
    瀏覽(15)
  • 【Java高級應(yīng)用:深入探索Java編程的強大功能,JVM 類加載機制, JVM 內(nèi)存模型,垃圾回收機制,JVM 字節(jié)碼執(zhí)行,異常處理機制】

    本人詳解 作者:王文峰,參加過 CSDN 2020年度博客之星,《Java王大師王天師》 公眾號:JAVA開發(fā)王大師,專注于天道酬勤的 Java 開發(fā)問題 中國國學(xué)、傳統(tǒng)文化和代碼愛好者的程序人生,期待你的關(guān)注和支持!本人外號:神秘小峯 山峯 轉(zhuǎn)載說明:務(wù)必注明來源(注明:作者:

    2024年01月16日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包