亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦>知識大全>知識百科>百科知識>

      Java中throw和throws的區(qū)別

      時間: 映芳735 分享

        Java中有throw語句和throws語句,這兩種語句都是用來拋出異常的。那么,這兩種語句在具體運行的時候又有哪些區(qū)別呢?下面小編帶你去了解一下。

        1.系統(tǒng)自動拋出的異常

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

        2.語句拋出的異常

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

        throw是語句拋出一個異常。

        語法:

        throw (異常對象);

        throw e;

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

        語法:

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

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

        3.小編舉例

        throws E1,E2,E3只是告訴程序這個方法可能會拋出這些異常,方法的調(diào)用者可能要處理這些異常,而這些異常E1,E2,E3可能是該函數(shù)體產(chǎn)生的。

        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("自定義異常");

        }

        代碼塊中可能會產(chǎn)生3個異常,(Exception1,Exception2,Exception3)。

        如果產(chǎn)生Exception1異常,則捕獲之后再拋出,由該方法的調(diào)用者去處理。

        如果產(chǎn)生Exception2異常,則該方法自己處理了(即System.out.println("出錯了!");)。所以該方法就不會再向外拋出Exception2異常了,void doA() throws Exception1,Exception3 里面的Exception2也就不用寫了。

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

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

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

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

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

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

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

        同時:

        1、throws出現(xiàn)在方法函數(shù)頭;而throw出現(xiàn)在函數(shù)體。

        2、throws表示出現(xiàn)異常的一種可能性,并不一定會發(fā)生這些異常;throw則是拋出了異常,執(zhí)行throw則一定拋出了某種異常。

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

      Java中throw和throws的區(qū)別

      Java中有throw語句和throws語句,這兩種語句都是用來拋出異常的。那么,這兩種語句在具體運行的時候又有哪些區(qū)別呢?下面小編帶你去了解一下。 1.系統(tǒng)自動拋出的異常 所有系統(tǒng)定義的編譯和運行異常都可以由系統(tǒng)自動拋出,稱為標準異常,
      推薦度:
      點擊下載文檔文檔為doc格式

      精選文章

      • Java中switch和if語句的區(qū)別
        Java中switch和if語句的區(qū)別

        switch和if語句都是Java的選擇語句,這兩種語句都是允許在程序運行時控制程序的執(zhí)行過程。那么,switch和if在具體用法上什么具體區(qū)別,下面學(xué)習(xí)啦小編給

      • 如何實現(xiàn)真正的財務(wù)自由
        如何實現(xiàn)真正的財務(wù)自由

        相信很多人最想實現(xiàn)的就是財務(wù)自由吧,經(jīng)常教大家理財,也是為了有一天大家靠理財,投資產(chǎn)生的被動收益能夠覆蓋掉自己的花費,過上不用早起上班,

      • Java中sleep與wait的區(qū)別
        Java中sleep與wait的區(qū)別

        Java中sleep和wait都是用來進行線程控制的,這兩者之間有什么區(qū)別呢?下面,學(xué)習(xí)啦小編帶你去了解一下sleep與wait的區(qū)別。 sleep與wait在用法上的區(qū)別 sleep()不

      • 會計證丟了怎么辦補辦的方法
        會計證丟了怎么辦補辦的方法

        會計證,是具有一定會計專業(yè)知識和技能人員從事會計工作的資格證書,是進入會計崗位的準入證。會計證丟了不用著急,不用擔(dān)心會重考。今天小編就給

      537219