最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot 統(tǒng)一異常處理的實(shí)現(xiàn)示例

 更新時(shí)間:2024年07月07日 08:38:02   作者:從零開始的-CodeNinja之路  
本文主要介紹了SpringBoot 統(tǒng)一異常處理的實(shí)現(xiàn)示例,目的就是在異常發(fā)生時(shí),盡可能地減少破壞,下面就來介紹一下,感興趣的可以了解一下

一. 概念

其實(shí)統(tǒng)一異常是運(yùn)用了AOP(對(duì)某一類事情的集中處理)的思維,簡單概括就是在我們進(jìn)行前后端數(shù)據(jù)交互的時(shí)候,拋出的任何的異常都能夠自動(dòng)捕獲然后拋出,不用程序員在敲代碼時(shí)格外關(guān)注try catch語句。

其實(shí)統(tǒng)一異常處理非常簡單,在實(shí)現(xiàn)時(shí)要加入類注解@ControllerAdvice(這是一個(gè)表示控制通知的注解,在接下來的統(tǒng)一異常處理也要運(yùn)用到),并且有一點(diǎn)與統(tǒng)一數(shù)據(jù)返回不同的是,統(tǒng)一異常處理需要加上類注解@ResponseBody來確認(rèn)返回的數(shù)據(jù)類型,然后在類中要進(jìn)行捕獲異常的方法上加上注解@ExceptionHandle即可。

二. 全局異常處理

處理全局異常代碼如下:

import com.example.demo.model.Result;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;


 
@ControllerAdvice
@ResponseBody

public class ErrorAdvice {

	/**
	 * 全局異常處理
	 */
	@ExceptionHandler
	public Object handler(Exception e) {
		return Result.fail(e.getMessage());
	}
	
}

這樣程序拋出異常的時(shí)候,就會(huì)被該異常處理方法所捕獲,并且返回統(tǒng)一異常處理的結(jié)果(JSON格式)!

三. 處理特定異常

處理特定異常代碼如下:

import com.example.demo.model.Result;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

@ResponseBody
@ControllerAdvice

public class ErrorAdvice {

	@ExceptionHandler
	public Object handler(Exception e) {
		return Result.fail(e.getMessage());
	}

	@ExceptionHandler
	public Object handler(NullPointerException e) {
		return Result.fail("發(fā)?NullPointerException:"+e.getMessage());
	}

	@ExceptionHandler
	public Object handler(ArithmeticException e) {
		return Result.fail("發(fā)?ArithmeticException:"+e.getMessage());
	}

}

當(dāng)有多個(gè)異常通知時(shí),匹配順序?yàn)楫?dāng)前類及其?類向上依次匹配

進(jìn)行統(tǒng)一異常處理的目的就是在異常發(fā)生時(shí),盡可能地減少破壞,妥善處理,而不去影響其他部分程序的運(yùn)行

到此這篇關(guān)于SpringBoot 統(tǒng)一異常處理的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)SpringBoot 統(tǒng)一異常處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中不可變集合的實(shí)現(xiàn)方式

    Java中不可變集合的實(shí)現(xiàn)方式

    在 Java 編程中,不可變集合是指其內(nèi)容在創(chuàng)建后不能被修改的集合,不可變集合在多線程編程中具有重要作用,因?yàn)樗梢源_保數(shù)據(jù)的一致性和安全性,在本文中,我們將深入探討 Java 中如何實(shí)現(xiàn)不可變集合,具體的實(shí)現(xiàn)方式,需要的朋友可以參考下
    2025-05-05
  • Java生成隨機(jī)時(shí)間的簡單隨機(jī)算法

    Java生成隨機(jī)時(shí)間的簡單隨機(jī)算法

    今天小編就為大家分享一篇關(guān)于Java生成隨機(jī)時(shí)間的簡單隨機(jī)算法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 詳解Java的內(nèi)置異常以及創(chuàng)建自定義異常子類的方法

    詳解Java的內(nèi)置異常以及創(chuàng)建自定義異常子類的方法

    這篇文章主要介紹了詳解Java的內(nèi)置異常以及創(chuàng)建自定義異常子類的方法,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • Java SPI模塊化解耦的技術(shù)指南

    Java SPI模塊化解耦的技術(shù)指南

    Java 的 Service Provider Interface (SPI) 是一種提供模塊化和擴(kuò)展性的方法,使得程序能夠通過動(dòng)態(tài)加載服務(wù)實(shí)現(xiàn)類來實(shí)現(xiàn)解耦,本文將詳細(xì)介紹 Java SPI 的機(jī)制、應(yīng)用場(chǎng)景及實(shí)現(xiàn)步驟,并通過示例代碼展示如何使用 SPI,需要的朋友可以參考下
    2025-03-03
  • YGC過于頻繁問題以及解決方案

    YGC過于頻繁問題以及解決方案

    這篇文章主要介紹了YGC過于頻繁問題以及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 一文淺析SpringBoot3中的異步批量處理操作

    一文淺析SpringBoot3中的異步批量處理操作

    對(duì)于使用 Spring Boot 3 框架的開發(fā)者而言,掌握異步批量處理操作至關(guān)重要,本文將深入探討 Spring Boot 3 中異步批量處理操作的方方面面,幫助各位開發(fā)者在實(shí)際項(xiàng)目中更好地應(yīng)用這一強(qiáng)大功能
    2025-12-12
  • Java concurrency之鎖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java concurrency之鎖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了Java concurrency之鎖的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JPA之映射mysql text類型的問題

    JPA之映射mysql text類型的問題

    這篇文章主要介紹了JPA之映射mysql text類型的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java中鎖的實(shí)現(xiàn)和內(nèi)存語義淺析

    Java中鎖的實(shí)現(xiàn)和內(nèi)存語義淺析

    這篇文章主要給大家介紹了關(guān)于Java中鎖的實(shí)現(xiàn)和內(nèi)存語義的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • java方法重寫時(shí)需要注意的問題

    java方法重寫時(shí)需要注意的問題

    大家好,本篇文章主要講的是java方法重寫時(shí)需要注意的問題,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評(píng)論

根河市| 西丰县| 子洲县| 广昌县| 庆阳市| 合水县| 文安县| 汉中市| 琼海市| 巩义市| 大城县| 阿鲁科尔沁旗| 海口市| 延长县| 临漳县| 铜梁县| 铁力市| 保靖县| 砚山县| 都昌县| 吉林市| 富顺县| 弥勒县| 天柱县| 锡林郭勒盟| 贡嘎县| 隆林| 和龙市| 望江县| 高唐县| 红安县| 禹州市| 松桃| 渑池县| 综艺| 永登县| 聂荣县| 苍梧县| 灵山县| 唐海县| 丹巴县|