原力再現:科學家發現蜘蛛僅靠電場就能起飛,連風都不需要
阿新 • • 發佈:2022-03-19
1.常見的異常類
(1).編譯時異常:
1 OException:輸入輸出流異常 2 3 FileNotFoundException:檔案找不到的異常 4 5 ClassNotFoundException:類找不到的異常 6 7 DataFormatException:資料格式化異常 8 9 NoSuchFieldException:沒有匹配的屬性異常 10 11 NoSuchMethodException:沒有匹配的方法異常 12 13 SQLException:資料庫操作異常 14 15 TimeoutException:執行超時異常
(2).執行時異常
1RuntimeException:執行時異常 2 3 NullPointerException:空指標異常 4 5 ArrayIndexOutofBoundsException:陣列越界異 6 7 ClassCastException:型別轉換異常 8 9 IllegalArgumentException:非法的引數異常 10 11 InputMismatchException:輸入不匹配
2.異常的處理方式
(1).try--catch--finally
1.該方式對異常進行了實質上處理,即用自定義形式來輸出異常,而不是由系統自帶的來進行
2.try表示要檢查的可能出現異常的程式碼段
3.catch即具體處理異常,說明什麼異常類,並進行處理
4.finally可有可無,用於異常處理後輸出
1 public static void test1() 2 { 3 try { 4 int a = 10, b = 0; 5 System.out.println(a/b); 6 } catch(ArithmeticException e) { 7 e.printStackTrace(); 8 } catch(Exception e) { 9 e.printStackTrace();10 } 11 finally { 12 System.out.println("異常已處理"); 13 } 14 }
(2).throws
本質上並未處理異常,只是將異常拋給上一層來進行處理
1 public static void main(String[] args) 2 { 3 try{ 4 test1(); 5 } catch(Exception e) { 6 e.printStackTrace(); 7 } 8 } 9 10 public static void test1() throws FileNotFoundException,IOException 11 { 12 File file = new File("hello.txt"); 13 FileInputStream fis = new FileInputStream(file); 14 int data = fis.read(); 15 fis.close(); 16 }
3.異常類
(1).要宣告版本號
(2).從已有的異常類上繼承,並呼叫父類的建構函式
1 public class MyException extends RuntimeException { 2 //確定版本號 3 static final long serialVersionUID = -7034897193246939L; 4 5 public MyException() 6 { 7 super(); 8 } 9 10 public MyException(String msg) 11 { 12 super(msg); 13 } 14 }
4.throws和throw的區別:
(1).throws是去轉移異常的處理者
(2).throw是去丟擲一個異常類
1 throw ExceptionObject;