閱讀588 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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[]){

        try{

            thrownew Exception();

        }catch(MyException e){

            System.out.println("MyException異常");

        }

    }

}

原帖地址:https://liuhun3083053.iteye.com/blog/1542119

 

 

最後更新:2017-04-02 17:09:28

  上一篇:go ANDROID中LISTVIEW仿QQ群組向上滾動特效
  下一篇:go 下拉刷新 上拉更多 支持ListView GridView WebView