Spring自定義異常,與全域性異常統一處理

2021-10-02 01:16:54 字數 1358 閱讀 5877

1、自定義乙個異常類,繼承執行時異常,可以用try--catch捕獲該自定義異常

/**

* @author tastill

* @version 2019/11/29 9:47

* @description 外網異常丟擲統一方法

*/public class wwexception extends runtimeexception

public wwexception(string code, string msg)

public string getcode()

public void setcode(string code)

public string getmsg()

public void setmsg(string msg)

}

2、全域性異常統一處理

①通過@controlleradvice註解增強實現controller介面類

②通過@exceptionhandler自定捕獲的異常型別。

③通過@responsebody返回json到前端。

注:①被@controlleradvice註解的全域性異常處理類也是乙個controller,我們需要配置掃瞄路徑,確保能夠掃瞄到這個controller。說白了,這個丟擲異常的方法,最頂層呼叫一定要是cotroller層。

②該註解捕獲異常方法優先順序低於aop攔截的方法catch異常捕獲。意思就是如果是aop攔截,如果有異常,會先進aop攔截的catch異常捕獲方法裡,如果在catch裡沒有再次丟擲,則不會進controlleradvice註解的增強類。

/**

* @author tastill

* @version 2019/12/9 15:57

* @description 全域性異常統一處理(執行時異常)

*/@controlleradvice

public class wwexceptionresolver

/*** @description 處理專案丟擲的異常

* @param

* @return

* @version 2.0, 2019/12/9 16:49

* @author tastill

*/@exceptionhandler(wwexception.class)

@responsebody

public responsemainentity handleopdruntimeexception(wwexception e)

}

SpringBoot全域性異常處理 自定義異常

web框架中,有很多異常需要處理,比如業務異常,許可權不足等。一般都是使用try.catch進行異常捕捉處理,但是在實際專案中對業務模組進行異常捕捉,會造成 重複和繁雜。解決辦法 設立乙個全域性異常來對框架的所有異常進行統一處理。在可能發生異常的方法throw拋給自定義的異常控制器,然後由全域性異常...

Spring 全域性異常捕獲 自定義業務異常

響應前端成功效果 code 200 失敗效果 responseresult 統一向前端返回結果集 package com.cs.demo.exception author chan date 2020 01 18 public class responseresult public response...

SpringBoot自定義異常全域性捕獲

前言 不會寫bug的程式設計師不是乙個好程式設計師,不出異常的程式不是好程式,我們要做的就是抓住它,然後接著寫bug 建立自定義異常類 基礎異常 public class baseexception extends runtimeexception public baseexception stri...