java之程式的異常體系結構,實習面試點
阿新 • • 發佈:2018-11-05
java之程式的異常體系結構
1. 程式中的異常
- 不可避免的異常,在系統的執行過程中仍然會遇到一些問題,因為很多問題不是靠程式碼能夠避免的,比如:客戶輸入資料的格式,讀取檔案是否存在,網路是否始終保持通暢等等
- 異常:在Java語言中,將程式執行中發生的不正常情況稱為“異常”。(開發過程中的語法錯誤和邏輯錯誤不是異常)
- 對於這些錯誤,一般有兩種解決方法:一是遇到錯誤就終止程式的執行。另一種方法是由程式設計師在編寫程式時,就考慮到錯誤的檢測、錯誤訊息的提示,以及錯誤的處理。
2. java異常層次體系結構圖
3. java異常的體系結構,實習面試點
- java.lang.Throwable
1.1. Error:錯誤,程式中不進行處理(通常是jar匯入不全,或者jdk版本,路徑等問題)
1.2. Exception:異常,要求在編寫程式時,就要考慮到對這些異常的處理 - Exception:異常
2.1. 編譯時異常:在編譯期間會出現的異常(執行javac.exe命令 時,出現異常) ,且IO異常通常需要顯示處理。
2.2執行時異常:在執行期間出現的異常(執行java.exe命令時,出現異常),通常為程式設計師考慮不周,而出現的異常。
注:當執行一個程式時,如果出現異常,那麼異常之後的程式碼就不再執行!
java異常程式碼體會
public class TestException { //編譯時異常 @Test public void test6(){ // FileInputStream fis = new FileInputStream(new File("hello.txt")); // int b; // while((b = fis.read()) != -1){ // System.out.println((char)b); // } // fis.close(); } //常見的執行時異常 /* * Bank bank = new Bank(); * Customer[] customers = new Customer[5]; * customers[0] = new Customer(); * System.out.println(customers[0].getFirstName());可能出現空指標異常 * customers[0].setAccount(new Account(200)); * customers[0].getAccount().withdraw(100);可能出現空指標異常 */ //4.空指標異常:NullPointerExcetion @Test public void test5(){ // Person p = new Person(); // p = null; // System.out.println(p.toString()); String str = new String("AA"); str = null; System.out.println(str.length()); } //3.型別轉換異常:ClassCastException @Test public void test4(){ Object obj = new Date(); String str = (String)obj; //String str1 = (String)new Date(); } //2.算術異常:ArithmeticException @Test public void test3(){ int i = 10; System.out.println(i / 0); } //1.陣列下標越界的異常:ArrayIndexOutOfBoundsException @Test public void test2(){ int[] i = new int[10]; //System.out.println(i[10]); System.out.println(i[-10]); } @Test public void test1(){ Scanner s = new Scanner(System.in); int i = s.nextInt(); System.out.println(i); } } class Person{ }