springboot全域性異常處理

2021-09-11 21:08:17 字數 1845 閱讀 9001

參考鏈結1

​ 乙個專案總會出現錯誤,而我們需要將其中的某些錯誤用自己的方式去處理 ,這時候就會用到springmvc的全域性異常處理了;當然,還有其他的方式去處理這些異常,這裡就不討論了;

​ springboot有乙個預設的異常處理,但是自己感覺還沒有達到自己的預想,需要自己對異常進行簡單的處理,於是就有了這篇文章。

​ 注意,我是使用idea直接構建的springboot專案;

以下是全域性異常處理主要用到的兩個註解:

該註解主要用於類上

該註解的主要引數basepackages:處理某乙個包下面的異常

用於方法上

裡面只有乙個value引數,這個引數就是需要處理的異常的exceptionname.class,那麼這個方法就會只處理這個錯誤,其他的錯誤就不會處理;

​ 在專案中新建兩個類

@restcontroller

public

class

testcontroller

}複製**

@controlleradvice

public

class

globalexceptionhandler

}複製**

方法上還可以用其它允許的註解,視個人而定,引數也是可以自己新增,但是需要新增的引數必須是要被允許的;

​ 啟動專案進行以下測試,這裡自己小小的實驗了一把,自己定義乙個請求,裡面會需要乙個test引數,而且還是get請求,接下來看用各種請求會出現深結果,然後自己處理後的結果;

get請求不帶test引數,我用的postman來傳送的請求,且異常處理類中不寫處理

在postman端請求出現的結果:

複製**

​ 但是為了更直接一點,我們對這個錯誤進一步進行了處理;

​ 在異常處理類中新增以下**:

複製**​ 這裡處理的錯誤為missingservletrequestparameterexception,也就是除此之外的錯誤都不會處理

​ 請求結果:

複製**

post請求,帶test引數,異常處理類中不處理;

不處理出現的結果:

複製**

​ 在異常類中新增以下**:

複製**新增**後的請求結果:

複製**

​ 其實以上的測試只是乙個實驗,也許在現實開發**現以上的錯誤一眼就能看出**錯了;但是為了更明顯的說明錯誤,就自己進行了處理;

十分感謝你能看完這篇文章!

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

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

springboot全域性異常捕獲

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

SpringBoot全域性異常處理

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