在程式編寫中,難免會產生異常,這時候就需要對異常進行處理
異常的體系
throwable
error
exception
exception和error的子類名都是以父類名作為字尾
try
catch
(異常類 變數)
finally
try
catch
(exception e)
try
finally
finally
**塊只有一種情況不會被執行。就是在之前執行了system.exit(0)
自定義類繼承exception或者其子類
通過建構函式定義異常資訊
例:
class demoexception
extends
exception
}
通過throw將自定義異常丟擲
throw
newdemoexception()
;
1,處理方式有兩種:try 或者 throws。
2,呼叫到丟擲異常的功能時,丟擲幾個,就處理幾個。
乙個try對應多個catch。
3,多個catch,父類的catch放到最下面。
4,catch內,需要定義針對性的處理方式。不要簡單的定義printstacktrace,輸出語句。也不要不寫。
當捕獲到的異常,本功能處理不了時,可以繼續在catch中丟擲。
try
catch
(aexception e)
如果該異常處理不了,但並不屬於該功能出現的異常。
可以將異常轉換後,在丟擲和該功能相關的異常。
或者異常可以處理,當需要將異常產生的和本功能相關的問題提供出去,
當呼叫者知道。並處理。也可以將捕獲異常處理後,轉換新的異常。
try
catch
(aexception e)
在子父類覆蓋時:
子類丟擲的異常必須是父類的異常的子類或者子集
如果父類或者介面沒有異常丟擲時,子類覆蓋出現異常,只能try不能拋
exceptoin中有乙個特殊的子類異常runtimeexception執行時異常
如果在函式內容丟擲該異常,函式上可以不用宣告,編譯一樣通過
如果在函式上宣告了該異常。呼叫者可以不用進行處理。編譯一樣通過
之所以不用在函式宣告,是因為不需要讓呼叫者處理
當該異常發生,希望程式停止。因為在執行時,出現了無法繼續運算的情況,希望停止程式後,對**進行修正
自定義異常時:如果該異常的發生,無法在繼續進行運算,就讓自定義異常繼承runtimeexception
對於異常分兩種:
編譯時被檢測的異常
編譯時不被檢測的異常(執行時異常。runtimeexception以及其子類)
java學習筆記 異常
1 異常的限制 當覆蓋方法的時候,只能丟擲在基類方法的異常說明裡列出的那些異常。這個限制很有用,因為這意味著,當基類使用的 應用到期派生類物件的時候,一樣能夠工作。public class exceptionrestrictiontest extends inning implements stor...
java學習筆記 java異常處理
1.異常的處理流程 建立異常 丟擲異常 捕獲處理異常 對應於 try throw catch try throw.catch 要點 宣告乙個異常 public void mymethod throws exception1,exception2,exception3,使用throw 來宣告乙個方法的...
java學習筆記之異常
基礎的就不多說了,說一下容易被忽略的知識點。a 不管有木有出現異常,finally塊中 都會執行 b 當try和catch中有return時,finally仍然會執行 c finally是在return後面的表示式運算後執行的 此時並沒有返回運算後的值,而是先把要返回的值儲存起來,管finally中...