Java中處理異常throw和throws

1.首先咱們來了解什麼是異常呢?java

     異常阻止當前方法或做用域繼續執行的問題。程序員

2.處理異常學習

   說處處理異常,咱們固然會想到 try catch finallyspa

   在java中咱們會對異常的處理有更高的認識 咱們會學習 throw throws等更好的處理異常3d

3.常見異常code

  

4.throw關鍵字:語句拋出異常   throws關鍵字:聲明異常(方法拋出一個異常)對象

    01.throw   是語句拋出一個異常。blog

語法:throw (異常對象);
         throw e;作用域

    02. throws  是方法可能拋出異常的聲明。(用在聲明方法時,表示該方法可能要拋出異常)   調用者必須作出處理(捕獲或繼續拋出)字符串

語法:[(修飾符)](返回值類型)(方法名)([參數列表])[throws(異常類)]{......}
            public void doA(int a) throws Exception1,Exception3{......}

    03.throws能夠單獨使用,但throw不能, throw要麼和try-catch-finally語句配套使用,要麼與throws配套使用。但throws能夠單獨使 用,而後再由處理異常的方法捕獲。

    04.throw語句用在方法體內,表示拋出異常,由方法體內的語句處理 
         throws語句用在方法聲明後面,表示再拋出異常,由調用這個方法的上一級方法中的語句來處理,必須作出處理(捕獲或繼續聲明)

    05.throws主要是聲明這個方法會拋出這種類型的異常,使其餘地方調用它時知道要捕獲這個異常,使得提醒必須作出處理。不然編譯是不會經過的。
         throw是具體向外拋異常的動做,因此它是拋出一個異常實例。

 

eg:

public void dothing(int a,int b) throws Exception1,Exception3 {
           try{
                 //......

           }catch(Exception1 e){
              throw e;
           }catch(Exception2 e){
              System.out.println("本身打印提示,不拋出");
           }
           if(a!=b)
              throw new  Exception3("自定義異常");
}

代碼塊中可能會產生3個異常,(Exception1,Exception2,Exception3)。若是產生Exception1異常,則捕獲以後再拋出,由該方法的調用者去處理。若是產生Exception2異常,則該方法本身處理了(即打印出字符串:本身打印提示,不拋出)。因此該方法就不會再向外拋出Exception2異常了,void dothing() throws Exception1,Exception3 裏面的Exception2也就不用寫了(固然你寫了也不會報錯的),throws 就是聲明可能拋出的錯誤,而Exception2 並未作出拋出操做。而Exception3異常是該方法的某段邏輯出錯,程序員本身作了處理,在該段邏輯錯誤的狀況下拋出異常Exception3,則該方法的調用者也要處理此異常。

相關文章
相關標籤/搜索