国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

簡(jiǎn)單講解java中throws與throw的區(qū)別

瀏覽:19日期:2022-08-28 18:42:53

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

當(dāng)然,你需要明白異常在Java中式以一個(gè)對(duì)象來看待。并且所有系統(tǒng)定義的編譯和運(yùn)行異常都可以由系統(tǒng)自動(dòng)拋出,稱為標(biāo)準(zhǔn)異常,但是一般情況下Java 強(qiáng)烈地要求應(yīng)用程序進(jìn)行完整的異常處理,給用戶友好的提示,或者修正后使程序繼續(xù)執(zhí)行。直接進(jìn)入正題哈:

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

1.1 throw是語句拋出一個(gè)異常。語法:throw (異常對(duì)象); throw e;

1.2 throws是方法可能拋出異常的聲明。(用在聲明方法時(shí),表示該方法可能要拋出異常)語法:[(修飾符)](返回值類型)(方法名)([參數(shù)列表])[throws(異常類)]{......} public void doA(int a) throws Exception1,Exception3{......}

舉例:

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

如:

void doA(int a) throws IOException,{ try{ ...... }catch(Exception1 e){ throw e; }catch(Exception2 e){ System.out.println('出錯(cuò)了!'); } if(a!=b) throw new Exception3('自定義異常');}

代碼塊中可能會(huì)產(chǎn)生3個(gè)異常,(Exception1,Exception2,Exception3)。如果產(chǎn)生Exception1異常,則捕獲之后再拋出,由該方法的調(diào)用者去處理。如果產(chǎn)生Exception2異常,則該方法自己處理了(即System.out.println('出錯(cuò)了!');)。所以該方法就不會(huì)再向外拋出Exception2異常了,void doA() throws Exception1,Exception3 里面的Exception2也就不用寫了。而Exception3異常是該方法的某段邏輯出錯(cuò),程序員自己做了處理,在該段邏輯錯(cuò)誤的情況下拋出異常Exception3,則該方法的調(diào)用者也要處理此異常。

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

throws主要是聲明這個(gè)方法會(huì)拋出這種類型的異常,使它的調(diào)用者知道要捕獲這個(gè)異常。throw是具體向外拋異常的動(dòng)作,所以它是拋出一個(gè)異常實(shí)例。

throws說明你有那個(gè)可能,傾向。throw的話,那就是你把那個(gè)傾向變成真實(shí)的了。

同時(shí):1、throws出現(xiàn)在方法函數(shù)頭;而throw出現(xiàn)在函數(shù)體。2、throws表示出現(xiàn)異常的一種可能性,并不一定會(huì)發(fā)生這些異常;throw則是拋出了異常,執(zhí)行throw則一定拋出了某種異常。3、兩者都是消極處理異常的方式(這里的消極并不是說這種方式不好),只是拋出或者可能拋出異常,但是不會(huì)由函數(shù)去處理異常,真正的處理異常由函數(shù)的上層調(diào)用處理。

到此這篇關(guān)于簡(jiǎn)單講解java中throws與throw的區(qū)別的文章就介紹到這了,更多相關(guān)java中throws與throw的區(qū)別內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 定襄县| 遂溪县| 开封县| 镇巴县| 遵义市| 芷江| 肥城市| 扶风县| 张掖市| 嘉善县| 祁门县| 五寨县| 西盟| 合川市| 江陵县| 乐清市| 毕节市| 建湖县| 丘北县| 河曲县| 左权县| 枣阳市| 莆田市| 五指山市| 洛隆县| 西丰县| 海城市| 阿拉善盟| 三门县| 丰县| 榆中县| 新泰市| 乌恰县| 赣州市| 轮台县| 刚察县| 黑河市| 年辖:市辖区| 铅山县| 康保县| 扬中市|