天天看點

Java關鍵字throw和throws

系統自動抛出的異常

所有系統定義的編譯和運作異常都可以由系統自動抛出,稱為标準異常

語句抛出的異常 

使用者程式自定義的異常和應用程式特定的異常,必須借助于throws 和throw 語句來定義抛出異常。

throws

關鍵字通常被應用在聲明方法時,用來指定可能抛出的異常。多個異常可以使用逗号隔開。當在主函數中調用該方法時,如果發生異常,就會将異常抛給指定異常對象。

throw

關鍵字通常用在方法體中,并且抛出一個異常對象。程式在執行到throw語句時立即停止,它後面的語句都不執行。通過throw抛出異常後,如果想在上一級代碼中來捕獲并處理異常,則需要在抛出異常的方法中使用throws關鍵字在方法聲明中指明要跑出的異常;如果要捕捉throw抛出的異常,則必須使用try—catch語句。

差別

throws表示可能會産生異常,說明你有那個可能,傾向。throw則是指抛出的一個具體的異常類型,就是你把那個傾向變成真實的了。

throws通常不用顯示的捕獲異常,可由系統自動将所有捕獲的異常資訊抛給上級方法。throw則需要使用者自己捕獲相關的異常,而後在對其進行相關包裝,最後在将包裝後的異常資訊抛出。

throws出現在方法函數頭。而throw出現在函數體。

//  自定義異常

class myexception extends exception{

}

class testthrows{

void method

throws myexception{};

public void static main(string args[]){

        try{

            method();

        }catch(myexception e){

            system.out.println("myexception異常");

        }

    }

class testthrow{

public void static mian(string args[]){

            thrownew exception();