Java之Exception 分類
可查異常: CheckedException
可查異常即必須進行處理的異常,要麼try catch住,要麼往外拋,誰呼叫,誰處理,比如 FileNotFoundException
如果不處理,編譯器,就不讓你通過
執行時異常RuntimeException指: 不是必須進行try catch的異常
常見執行時異常:
除數不能為0異常:ArithmeticException
下標越界異常:ArrayIndexOutOfBoundsException
空指標異常:NullPointerException
在編寫程式碼的時候,依然可以使用try catch throws進行處理,與可查異常不同之處在於,即便不進行try catch,也不會有編譯錯誤
Java之所以會設計執行時異常的原因之一,是因為下標越界,空指標這些執行時異常太過於普遍,如果都需要進行捕捉,程式碼的可讀性就會變得很糟糕。
錯誤Error,指的是系統級別的異常,通常是記憶體用光了
在預設設定下,一般java程式啟動的時候,最大可以使用16m的記憶體
如例不停的給StringBuffer追加字元,很快就把記憶體使用光了。丟擲OutOfMemoryError
與執行時異常一樣,錯誤也是不要求強制捕捉的
程式碼比較複製程式碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
for ( int i = 0 ; i < Integer.MAX_VALUE; i++) {
Throwable是類,Exception和Error都繼承了該類 程式碼比較複製程式碼
步驟 2 : 練習-Throwable在方法宣告上,可以丟擲指定的異常,比如FileNotFoundException
可以丟擲Throwable,並且在呼叫的時候必須進行catch處理。 程式碼比較複製程式碼
|