java異常處理機制

來源:互聯網
上載者:User

標籤:異常處理   integer   rgs   message   異常處理機制   處理機   程式開發   異常捕獲   public   

java異常處理機制

在整個Java的異常處理中,實際上也是按照物件導向的方式進行處理,處理步驟如下: 

(1) 一旦產生異常,則首先會產生一個異常類的執行個體對象。 

(2) 在try語句對此異常對象進行捕捉。 

(3) 產生的異常對象與catch語句中的各個異常類型進行匹配,如果匹配成功,則執行catch語句中的代碼。 

Try{

 //產生異常代碼,併產生異常類的執行個體對象    

       }catch(Exception e){ 

             //匹配異常類型

             //執行異常處理代碼   

        }finally{  

            //異常統一出口  

}  

開發常見問題之一:程式開發中不會只存在一個異常,肯定會同時存在多個異常,此是,就需要使用多個catch語句進行處理,那捕獲異常如何排順?所以要注意,在Java中所有捕獲範圍小的異常必須放在捕獲大的異常之前,否則程式編譯時間就會出現錯誤。

代碼:

  1. public class ExceptionDemo{  
  2.    public static void main(String args[]){  
  3.   
  4.       System.out.println("計算開始");  
  5.       int i=0 ;  
  6.       int j=0 ;  
  7.       try{  
  8.           String str1 = args[0] ;  
  9.           String str2 = args[1] ;  
  10.           i = Integer.parseInt(str1) ;  
  11.           j = Integer.parseInt(str2) ;    
  12.           int result = i /j ;          .......................產生異常  
  13.           System.out.println("兩個數字相除結果:"+result) ;  
  14.       }catch(Exception e1){            ..................異常捕獲範圍大  
  15.            
  16.           System.out.println("其它異常:"+e1.getMessage()) ;           
  17.   
  18.       }catch(ArithmeticException e2){  ................錯誤,無法捕獲  
  19.   
  20.           System.out.println("算術異常:"+e2.getMessage()) ;  
  21.   
  22.       }finally{  
  23.   
  24.           System.out.println("計算結果") ;  .............出口,一定執行  
  25.   
  26.       }  
  27.   
  28.    }  
  29. }  

引用

結果:編譯出錯。 



引用 開發常見問題之二:throw與throws區別。在定義一個方法時可以使用throws聲明,使用throws聲明的方法表示此方法不處理異常而交給方法調用處進行處理;而throw則直接拋出異常,兩都常在一起使用,throw常用於自訂異常處理。上述為例說明 



Java代碼 
    1. public class ExceptionDemo{  
    2.     //執行相除  
    3.     public int div(int i,int j) throws Exception{.....往上拋,由方法調用處進行處理,這裡則由主方法處理  
    4.         int result = 0 ;  
    5.         try{  
    6.   
    7.           result = i / j ;  
    8.   
    9.         }catch(Exception e){  
    10.   
    11.           throw e;                           ........直接拋出異常  
    12.   
    13.         }  
    14.         return result;  
    15.     }  
    16.     //主方法  
    17.     public static void main(String args[]){  
    18.           
    19.         ExceptionDemo ex = new ExceptionDemo();  
    20.     
    21.         try{  
    22.   
    23.            System.out.println("操作結果:"+ex.div(8,4));         
    24.   
    25.         }catch(Exception e){  
    26.      
    27.            System.out.println(e.getMessage()) ;  
    28.           
    29.         }  
    30.     }  
    31. }  

 

java異常處理機制

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.