Springboot全域性異常處理

2021-10-07 06:47:15 字數 1489 閱讀 8608

在應用執行過程中,異常時難以完全避免的,所以在發生異常的時候,往往需要人為的介入進行異常處理,防止擴 大異常的影響,或者異常引發新的異常。關於異常處理,需要解決以下三個問題:

1.異常發生的位置

2.誰來處理異常

3.如何來進行處理

1.首先需要自己定義乙個實體類

public

class

errormessage

implements

serializable

public integer getcode()

public

void

setcode

(integer code)

public string getmessage()

public

void

setmessage

(string message)

}

2.自定義異常類

public

class

verifycodeexception

extends

runtimeexception

}public

class

usernameandpasswordexception

extends

runtimeexception

}

3.定義異常的處理器

//@restcontrolleradvice  相當於 @controlleradvice 與 @responsebody 的結合體。

@controlleradvice

// 捕獲 controller 層丟擲的異常,如果新增 @responsebody 返回資訊則為 json 格式

public

class

userdefineexceptionhandller

@exceptionhandler

(value = usernameandpasswordexception.

class

)@responsebody

public errormessage usernameandpasswordexception

(usernameandpasswordexception e)

}

4.在controller層使用

if

(loginuser==null)

session.

setattribute

("user"

,loginuser);}

else

}

在應用開發過程中,除系統自身的異常外,不同業務場景中用到的異常也不一樣,為了與標題 輕鬆搞定全域性異 常 更加的貼切,就需要自己定義乙個異常了

全域性異常處理 springBoot 全域性異常處理

先讚後看,月入百萬 springboot開發的web專案中,強調分層的概念,乙個完整的專案一般會劃分出controller層和service層。因此,為了 的可維護性,controller層 應該盡量簡潔,驗證一下引數,直接丟給service層處理即可 異常處理的方式無外乎兩種 在springboo...

springboot全域性異常捕獲

新專案中需要用到檔案上傳,有需要對上傳檔案大小進行限制,當檔案超過限制的時候,springboot框架會直接丟擲異常,不會進入你的方法中,當我們需要向前臺返回資訊的時候也無從返回,只能進行全域性捕獲檔案過大的異常,然後再返回資訊。controlleradvice public class mycon...

SpringBoot全域性異常處理

簡介通常在controller層需要去捕獲service層的異常,防止返回一些不友好的錯誤資訊到客戶端,但如果controller層每個方法都用模組化的try catch 去捕獲異常,會很難看也難維護,所以使用全域性異常比較方便 這方法是springboot封裝好了的,我們直接使用即可,普通的配置我...