SpringBoot自定義異常全域性捕獲

2021-10-08 04:50:31 字數 1641 閱讀 5033

前言 :不會寫bug的程式設計師不是乙個好程式設計師, 不出異常的程式不是好程式,我們要做的就是抓住它,然後接著寫bug

建立自定義異常類

/**

* 基礎異常

*/public

class

baseexception

extends

runtimeexception

public

baseexception

(string module, string code, object[

] args)

public

baseexception

(string module, string defaultmessage)

public

baseexception

(string code, object[

] args)

public

baseexception

(string defaultmessage)

public string getmodule()

public string getcode()

public object[

]getargs()

public string getdefaultmessage()

}

建立具體模組的異常類

/**

* 使用者資訊異常類

*/public

class

fileexception

extends

baseexception

}

對異常型別再做細分

/**

* 檔名稱超長限制異常類

*/public

class

filenamelengthlimitexceededexception

extends

fileexception);

}}

使用springboot提供的異常處理(aop技術)

/**

* 全域性異常處理器

*/@restcontrolleradvice

public

class

globalexceptionhandler

// 以下是自定義註解捕獲異常的邏輯

/** * 自定義驗證異常

*/@exceptionhandler

(bindexception.

class

)public result validatedbindexception

(bindexception e)

/** * 自定義驗證異常

*/@exceptionhandler

(methodargumentnotvalidexception.

class

)public result validexceptionhandler

(methodargumentnotvalidexception e)

}

自定義異常類,一般繼承runtimeexception

進行模組劃分

全域性異常捕獲

Springboot自定義異常處理

springboot 預設把異常的處理集中到乙個modelandview中了,但專案的實際過程中,這樣做,並不能滿足我們的要求。具體的自定義異常的處理,參看以下 spring boot異常處理詳解 如果仔細看完spring boot的異常處理詳解,並且研究過原始碼後,我覺得具體的實現可以不用看了。重...

Springboot自定義異常處理

springboot 預設把異常的處理集中到乙個modelandview中了,但專案的實際過程中,這樣做,並不能滿足我們的要求。具體的自定義異常的處理,參看以下 spring boot異常處理詳解 如果仔細看完spring boot的異常處理詳解,並且研究過原始碼後,我覺得具體的實現可以不用看了。重...

SpringBoot異常處理及自定義異常頁面

springboot預設情況下對於異常的處理提供了預設的錯誤頁面,如果我們想要自定義屬於自己的異常頁面同時自己來處理不同型別的異常 到不同的頁面,可以進行相關的配置。在template目錄下建立乙個名為error的目錄,目錄名必須是error,這樣專案啟動springboot就會自動找到該目錄下的錯...