Java入門——異常的捕獲與處理


Java入門——異常的捕獲與處理


在沒有異常處理的語言中,通常需要大量的判斷語句,配合所想到的錯誤來捕獲程序中所有可能發生的錯誤。充分利用Java的異常處理機制,以增進程序的穩定性和效率。


 Java的異常處理機制

  1. 一旦產生異常,則首先會產生一個異常類的實例化對象。
  2. 在try語句中對此異常對象進行捕獲。
  3. 產生的異常對象與catch語句中的各個異常類型進行匹配,如果匹配成功,則執行catch語句中的代碼。
  4. finaly是異常的統一出口,一定會執行。

所有的子類實例全部可由父類接收,利用向上轉型的概念,所有的異常對象都可以使用Exception類接收


throws關鍵字

  throws:使用throws聲明的方法表示此方法不處理異常,而交給方法的調用處進行處理。

  在主方法中不要使用throws關鍵字。


 throw關鍵字

  可以直接使用throw關鍵字人為的拋出一個異常,拋出時,直接拋出異常類的實例化對象即可。


范例:throw與throws的應用

設計一個相除的方法,要求必須打印“計算開始”信息,“計算結束”信息,如果有異常,則肯定調用被調用處處理。

 1 package Sep18;
 2 /*設計一個相除的方法,要求必須打印“計算開始”信息,“計算結束”信息,如果有異常,則肯定調用被調用處處理。
 3  */
 4 public class TrowDemo02 {
 5     public static void main(String args[]){
 6         Math m=new Math();
 7         try{
 8             System.out.println("除法操作:"+m.div(10, 0));
 9         }catch(Exception e){
10             System.out.println("異常產生:"+e);//產生異常時執行。
11         }
12     }
13 }
14 class Math{
15     public int div(int i,int j) throws Exception{//方法可以不處理異常,直接拋出
16         System.out.println("****計算開始****");
17         int temp=0;
18         try{
19             temp=i/j;
20             }catch(Exception e){//捕獲異常
21                 throw e;//把異常結構交給被調用處
22             }finally{
23                 System.out.println("****計算結束****");
24             }
25         return temp;
26     }
27 }
****計算開始****
****計算結束****
異常產生:java.lang.ArithmeticException: / by zero

Exception類與RuntimeException類

  RuntimeException類是Exception類的一個子類,但是可以直接throws,而不用try---catch---拋出,但是最好還是正常捕獲。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM