亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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(對某一類事情的集中處理)的思維,簡單概括就是在我們進(jìn)行前后端數(shù)據(jù)交互的時(shí)候,拋出的任何的異常都能夠自動捕獲然后拋出,不用程序員在敲代碼時(shí)格外關(guān)注try catch語句。

其實(shí)統(tǒng)一異常處理非常簡單,在實(shí)現(xiàn)時(shí)要加入類注解@ControllerAdvice(這是一個表示控制通知的注解,在接下來的統(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í)候,就會被該異常處理方法所捕獲,并且返回統(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)有多個異常通知時(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • spring security獲取用戶信息為null或者串值的解決

    spring security獲取用戶信息為null或者串值的解決

    這篇文章主要介紹了spring security獲取用戶信息為null或者串值的解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 基于spring@aspect注解的aop實(shí)現(xiàn)過程代碼實(shí)例

    基于spring@aspect注解的aop實(shí)現(xiàn)過程代碼實(shí)例

    這篇文章主要介紹了基于spring@aspect注解的aop實(shí)現(xiàn)過程代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • mybatisPlus打印sql配置的四種方法

    mybatisPlus打印sql配置的四種方法

    MyBatis-Plus提供了多種方式來配置SQL打印功能,以便進(jìn)行調(diào)試和性能分析,這篇文章主要介紹了mybatisPlus打印sql配置的四種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-12-12
  • Spring?Boot?集成并開發(fā)?Sa-token示例詳解

    Spring?Boot?集成并開發(fā)?Sa-token示例詳解

    Sa-token是一款高可用的權(quán)限認(rèn)證框架,他帶我們用最簡化的配置完成用?spring?security?需要進(jìn)行大量配置的才能完成的工作,這篇文章主要介紹了Spring?Boot?集成并開發(fā)?Sa-token,需要的朋友可以參考下
    2023-06-06
  • Java刪除二叉搜索樹的任意元素的方法詳解

    Java刪除二叉搜索樹的任意元素的方法詳解

    這篇文章主要介紹了Java刪除二叉搜索樹的任意元素的方法,結(jié)合實(shí)例形式詳細(xì)分析了java這對二叉搜索樹的遍歷、查找、刪除等相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • spring?batch線上異常定位記錄

    spring?batch線上異常定位記錄

    這篇文章主要為大家介紹了spring?batch線上異常定位記錄及異常解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-03-03
  • Spring Boot @Conditional注解用法示例介紹

    Spring Boot @Conditional注解用法示例介紹

    這篇文章主要給大家介紹了關(guān)于Spring Boot @Conditional注解用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Springboot+hibernate實(shí)現(xiàn)簡單的增刪改查示例

    Springboot+hibernate實(shí)現(xiàn)簡單的增刪改查示例

    今天小編就為大家分享一篇Springboot+hibernate實(shí)現(xiàn)簡單的增刪改查示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion問題解決方法

    java.lang.AbstractMethodError: org.apache.xerces.dom.Documen

    這篇文章主要介紹了java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion問題解決方法,導(dǎo)致本文問題的原因是缺少一個xerces.jar jar包,需要的朋友可以參考下
    2015-03-03
  • Java實(shí)現(xiàn)統(tǒng)計(jì)在線人數(shù)功能的方法詳解

    Java實(shí)現(xiàn)統(tǒng)計(jì)在線人數(shù)功能的方法詳解

    很多人在筆試或者面試中問到:現(xiàn)在要你實(shí)現(xiàn)一個統(tǒng)計(jì)在線人數(shù)的功能,你該怎么設(shè)計(jì)?不知道的朋友,這篇文章就來告訴你具體實(shí)現(xiàn)方法
    2022-08-08

最新評論