1. 非運作時異常(Checked Exception)
Java中凡是繼承自Exception但不是繼承自RuntimeException的類都是非運作時異常。
2. 運作時異常(Runtime Exception/Unchecked Exception)
RuntimeException類直接繼承自Exception類,稱為運作時異常。Java中所有的運作時異常都直接或間接的繼承自RuntimeException。
Java中所有的異常類都直接或間接的繼承自Exception。
一、對應非運作時異常,必須對其進行處理。處理方式有兩種:
使用try…catch…finally語句塊進行捕獲
在産生異常的方法所在的方法聲明throws Exception
二、對于運作時異常,可以不對其進行處理,也可以對其進行處理。一般情況下都不對其進行處理。
在使用Java API的方法時會産生異常,由于實際的需要,我們需要建立和使用自定義異常。使用全新的異常類,應用到系統程式中。
其實這是問題處理的模式/方式之一;
其它的是什麼?例如WindowsAPI的GetLastError,swift、Go的多傳回值 ,傳回一個實體類包含所有需要的資訊;
而這個方法同樣也有多種應用。
應用一:你的一個方法中把一些必須滿足的條件作為異常來處理;
應用二:你的一個方法中把所有可能遇到的異常都捕獲了,附加上其它資訊抛出新的異常;
應用三:以上兩種混合應用;
自定義異常類:CustomException.java
應用類Servlet:SimpleServlet.java
這裡隻是示範自定義異常的使用方式,不要糾結示範代碼的業務合理性,
如果你有更好的應用場景歡迎分享!
我這裡隻定義了一個異常類:CustomException,你也可以做如下定義,隻要你喜歡:
UserNameException,PasswordException,FileWriteException……等等。
===========文檔資訊============
版權聲明:非商用自由轉載-保持署名-注明出處
署名(BY) :testcs_dn(微wx笑)
文章出處:[無知人生,記錄點滴](http://blog.csdn.net/testcs_dn)