1. 程式人生 > 資訊 >原力再現:科學家發現蜘蛛僅靠電場就能起飛,連風都不需要

原力再現:科學家發現蜘蛛僅靠電場就能起飛,連風都不需要

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).執行時異常

 1
RuntimeException:執行時異常 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;