專案中統一處理丟擲異常,不影響使用者體驗

2021-08-18 05:59:13 字數 2459 閱讀 9355

先整體說一下思路:

當程式中:我們拋出自定異常,如

throw new baseexception(10002006);

那麼baseexception類中利用方法,

public baseexception(int code)

}新建異常處理類,要繼承handlerexceptionresolver。

}// 頁面指定狀態為500,便於上層的resion或者nginx的500頁面跳轉,由於error/error不適合對使用者展示

其中的baseexception類是專案中所以自定義異常都要繼承的。

/**

* * 異常基類,所有異常都必須繼承於此異常 .

*/public class baseexception extends runtimeexception

public int getcode()

/*** 例項化異常

* * @param msgformat

* @param args

* @return

*/protected baseexception newinstance(string msgformat, object... args)

public baseexception(int code)

public baseexception(int code, object... args)

protected baseexception(int code, string msgformat, object... args)

protected baseexception(string message, throwable cause)

public baseexception(throwable cause)

protected baseexception(string message)

}

當我們拋出自定義異常時,我們利用自定義的resbundle(其中封裝了resourcebundle的一些資訊),

resourcebundle是去讀取配置檔案的。

配置錯誤資訊如圖。

在SpringMVC中統一處理異常

在springmvc中,允許開發人員自定義方法,用於統一處理異常,以至於某些異常可能在多種處理請求的過程中都可能出現,但是,只需要編寫1次處理的 即可!該機制的核心在於 可能出現異常的 處理請求的方法,並不通過 顯式的處理異常!則等同於這些處理請求的方法會將異常丟擲,而springmvc框架在呼叫這...

springBoot專案中異常的統一處理

問題 當我們不對異常進行處理的時候,伺服器端的異常就會原封不動的給返回前端頁面,這是沒有意義的行為,而且對使用者也不夠友好 就算我們自定義了返回的結果資訊,也只是包含了正確與錯誤的資訊,並沒有具體的資訊,在頁面顯示確實也不大友好 解決思路 異常是不可以避免的,分為兩種,一種是我們可以預知的異常.我們...

統一處理異常

1.controlleradvice 註解定義全域性異常處理類 controlleradvice public class globalexceptionhandler 2.exceptionhandler 註解宣告異常處理方法,註解的方法的引數列表裡,還可以宣告很多種型別的引數 controlle...