亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Java中throw和throws的區別(詳解)

發布時間:2020-10-01 03:43:17 來源:腳本之家 閱讀:163 作者:jingxian 欄目:編程語言

系統自動拋出的異常

所有系統定義的編譯和運行異常都可以由系統自動拋出,稱為標準異常,并且 Java 強烈地要求應用程序進行完整的異常處理,給用戶友好的提示,或者修正后使程序繼續執行。

語句拋出的異常

用戶程序自定義的異常和應用程序特定的異常,必須借助于 throws 和 throw 語句來定義拋出異常。

throw是語句拋出一個異常。

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

throws是方法可能拋出異常的聲明。(用在聲明方法時,表示該方法可能要拋出異常)

語法:[(修飾符)](返回值類型)(方法名)([參數列表])[throws(異常類)]{......}

public void doA(int a) throws Exception1,Exception3{......}

舉例:

throws E1,E2,E3只是告訴程序這個方法可能會拋出這些異常,方法的調用者可能要處理這些異常,而這些異常E1,E2,E3可能是該函數體產生的。
throw則是明確了這個地方要拋出這個異常。

如:

void doA(int a) 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異常,則該方法自己處理了(即System.out.println("出錯了!");)。所以該方法就不會再向外拋出Exception2異常了,void doA() throws Exception1,Exception3 里面的Exception2也就不用寫了。

而Exception3異常是該方法的某段邏輯出錯,程序員自己做了處理,在該段邏輯錯誤的情況下拋出異常Exception3,則該方法的調用者也要處理此異常。

throw語句用在方法體內,表示拋出異常,由方法體內的語句處理。

throws語句用在方法聲明后面,表示再拋出異常,由該方法的調用者來處理。

throws主要是聲明這個方法會拋出這種類型的異常,使它的調用者知道要捕獲這個異常。

throw是具體向外拋異常的動作,所以它是拋出一個異常實例。

throws說明你有那個可能,傾向。

throw的話,那就是你把那個傾向變成真實的了。

同時:

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

2、throws表示出現異常的一種可能性,并不一定會發生這些異常;throw則是拋出了異常,執行throw則一定拋出了某種異常。

3、兩者都是消極處理異常的方式(這里的消極并不是說這種方式不好),只是拋出或者可能拋出異常,但是不會由函數去處理異常,真正的處理異常由函數的上層調用處理。

以上這篇基于Java中throw和throws的區別(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蓬莱市| 通城县| 大荔县| 尼勒克县| 体育| 凤庆县| 喜德县| 济源市| 甘南县| 宣威市| 南汇区| 自治县| 绵阳市| 浮梁县| 浏阳市| 昌邑市| 贵定县| 正定县| 七台河市| 太保市| 仪征市| 政和县| 光泽县| 石河子市| 双鸭山市| 土默特左旗| 汉源县| 神木县| 南京市| 郓城县| 诸暨市| 北京市| 沅江市| 武平县| 马公市| 和平县| 南涧| 海阳市| 尼木县| 化德县| 来凤县|