異常處理
目標:- 瞭解異常的產生原理
- 掌握異常處理語句的基本格式
- 掌握throw和throws關鍵字的作用
- 能夠知道爲什麼需要異常處理?
- 瞭解Exception與RuntimeException的區別
- 瞭解斷言的作用
- 在JAVA程序的錯誤主要是語法錯誤和語義錯誤
- 在JAVA中,所有的異常都以類和對象的形式存在
- 異常是導致程序中斷運行的一種指令流
- Throwable的子類:Exception和Error
- 異常信息的輸出:e.printStackTrace();
- throws關鍵字:在定義一個方法時可以使用throws關鍵字聲明,使用throws聲明的方法表示此方法不處理異常,而交給方法的調用處處理,在主方法中也可以使用throws關鍵字,但卻只能將異常拋給JVM進行處理。
- throw關鍵字:與throws不同的是,可以直接使用throw拋出一個異常,拋出時直接拋出異常類的實例化對象即可。例:throw new Exception("自己拋出的異常");
- throws只是告訴程序這個方法可能會拋出這些異常,方法的調用者可能要處理這些異常, 而這些異常可能是該函數體產生的。 throw則是明確了這個地方要拋出這個異常。
- Exception與RuntimeException的區別
Exception在程序中必須使用try...catch進行處理
RuntimeException可以不使用try...catch進行處理,但是如果有異常產生,則異常將由JVM進行處理 - 斷言:斷言就是肯定某一個結果的返回值是正確的,如果最終結果的返回值是錯誤的,則通過斷言檢查肯定會提示錯誤信息
格式:
assert boolean表達式;
assert boolean表達式:詳細的信息
常見的異常:
- ArithmeticException 算術異常
- ArrayIndexOutOfBoundsException 數組溢出異常
- NumberFormatException 數字格式化異常
- Nullpointerexception 空指針異常
- ClassNotfoundexception 指定的類不存在
- illegalargumentexception 方法的參數錯誤
- ClassCastException 類型強制轉換異常
- NegativeArrayException 數組負下標異常
- FileNotFoundException 文件未找到異常
- NumberFormatException 字符串轉換爲數字異常