SpringBoot全域性異常處理

2022-07-20 22:18:21 字數 726 閱讀 8387

當程式發生執行時異常時,我們往往需要對其進行處理,但是過多的異常處理使程式看起來不是那麼的優雅。

幸運的是springboot提供了全域性異常處理,使我們可以很方便的處理一些異常。

使用@restcontrolleradvice表明這是乙個全域性異常處理類

然後使用 @exceptionhandler(異常型別.class)指定要處理的異常然後在方法的引數中接收異常,然後再方法中進行處理,注意小的異常要在大的異常上面,這與異常的捕獲是一致的,如果說直接指定exception異常,那麼所有的異常都會進入這個處理方法中。注意這裡發生異常時直接返回,就像是請求得到了響應,和進入controller中是一樣的,而不是丟擲500異常。

具體如下

@restcontrolleradvice

public class exceptioncontrolleradvice

@exceptionhandler(methodargumentnotvalidexception.class)

public resultvo methodargumentnotvalidexceptionhandler(methodargumentnotvalidexception e)

@exceptionhandler(exception.class)

public resultvo exceptionhandler(exception e)

}

至此,完成

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

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

springboot全域性異常捕獲

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

SpringBoot全域性異常處理

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