java自定義異常


在Java使用自定義異常就跟你和女朋友相處是一樣的,首先你要知道你為什么要跟你女朋友在一起,你女朋友有哪些好處,有哪些不好的地方,再來和你女朋友談婚論嫁過一輩子。

為什么要使用自定義異常

1.我們在工作的時候,項目是分模塊或者分功能開發的,基本不會是一個人開發一整個項目,使用自定義異常類就統一了對外異常展示的方式。

2.有時候我們遇到某些校驗或者問題的時候,需要直接結束掉當前的請求,這時便可以通過拋出自定義異常來結束。如果你的項目中使用了SpringMVC比較新的版本的話有控制器增強,可以通過@ControllerAdvice注解寫一個控制器增強類來攔截自定義的異常並響應給前端響應的信息。

3.自定義異常可以在我們的項目中某些特殊的業務邏輯時拋出異常。

4.使用自定義異常繼承相關的異常來拋出處理后的異常信息,可以隱藏底層的異常。這樣更安全,異常信息也會更加直觀。自定義異常可以拋出我們自己想要拋出的異常,可以通過拋出的信息區分異常發生的位置,根據異常名我們就可以知道哪里有異常,根據異常提示信息對程序進行修改。比如空指針異常NullPointException,我們可以拋出信息為"XXX為空"的定位異常位置,而不用輸出堆棧信息(默認異常拋出的信息)。

自定義異常的缺點

毋庸置疑,我們不能期待JVM自動拋出一個自定義異常,也不能期待JVM會自動處理一個自定義異常。發現異常、拋出異常和處理異常的工作必須靠編程人員在代碼中利用異常處理機制自己完成。這樣就相應地增加了一些開發成本和工作量,所以項目沒必要的話,也不一定非得要用上自定義異常,要能夠自己去權衡。

自定義異常的規則

在Java中可以自定義異常,編寫自己的異常類時需要記住以下幾點:

1.所有異常都必須是Throwable的子類。

2.如果希望寫一個檢查異常類,則需要繼承Exception類。

3.如果希望寫一個運行時異常類,則需要繼承RuntimeException類。

自定義異常的定義與使用

public class CommonException extends RuntimeException {
    public CommonException(String msg) {
        super(msg);
    }
}
public void testCommonException() {
    throw new CommonException("錯誤");
}

定義和使用都非常簡單。

 

"我常常因為自己不夠努力而感到羞愧難當。"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM