Java中處理異常throw和throws

2021-07-25 19:17:18 字數 1225 閱讀 6940

throw關鍵字:語句丟擲異常   throws關鍵字:宣告異常(方法丟擲乙個異常)

01.throw   是語句丟擲乙個異常。

語法: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是具體向外拋異常的動作,所以它是丟擲乙個異常例項。

public void dothing(int a,int b) throws exception1,exception3 catch(exception1 e)catch(exception2 e)

if(a!=b)

throw new exception3("自定義異常");

}

**塊中可能會產生3個異常,(exception1,exception2,exception3)。

如果產生exception1異常,則捕獲之後再丟擲,由該方法的呼叫者去處理。

如果產生exception2異常,則該方法自己處理了(即列印出字串:自己列印提示,不丟擲)。所以該方法就不會再向外丟擲exception2異常了,void dothing() throws exception1,exception3 裡面的exception2也就不用寫了(當然你寫了也不會報錯的),throws 就是宣告可能丟擲的錯誤,而exception2 並未做出丟擲操作。

而exception3異常是該方法的某段邏輯出錯,程式設計師自己做了處理,在該段邏輯錯誤的情況下丟擲異常exception3,則該方法的呼叫者也要處理此異常。

java異常處理中throw和throws的區別?

throw和throws的區別主要有兩點!1 throw 後面跟的是物件,throws後面跟的是異常類 2 throw 定義函式體的內部,throws定義在函式名後。丟擲異常物件的型別 class demo 自定義異常要繼承exception 類 class myexception extends ...

Java異常處理的throw和throws的區別

1.區別 throws是用來宣告乙個方法可能丟擲的所有異常資訊,throws是將異常宣告但是不處理,而是將異常往上傳,誰呼叫我就交給誰處理。而throw則是指丟擲的乙個具體的異常型別。2.分別介紹 throws 用於宣告異常,例如,如果乙個方法裡面不想有任何的異常處理,則在沒有任何 進行異常處理的時...

java異常中throw和throws的區別

throws 用來宣告乙個方法可能產生的所有異常,不做任何處理而是將異常往上傳,誰呼叫我我就拋給誰。用在方法宣告後面,跟的是異常類名 可以跟多個異常類名,用逗號隔開 表示丟擲異常,由該方法的呼叫者來處理 throws表示出現異常的一種可能性,並不一定會發生這些異常 throw 則是用來丟擲乙個具體的...