欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2020年07月17日 16:48:50   作者:@ 小浩  
這篇文章主要介紹了簡(jiǎn)單講解java中throws與throw的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

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

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

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

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

1.2   throws是方法可能拋出異常的聲明。(用在聲明方法時(shí),表示該方法可能要拋出異常)
語(yǔ)法:[(修飾符)](返回值類(lèi)型)(方法名)([參數(shù)列表])[throws(異常類(lèi))]{......}
            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也就不用寫(xiě)了。
而Exception3異常是該方法的某段邏輯出錯(cuò),程序員自己做了處理,在該段邏輯錯(cuò)誤的情況下拋出異常Exception3,則該方法的調(diào)用者也要處理此異常。

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

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

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

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

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

相關(guān)文章

  • Java常見(jiàn)面試題之final在java中的作用是什么

    Java常見(jiàn)面試題之final在java中的作用是什么

    這篇文章主要介紹了Java常見(jiàn)面試題之final在java中的作用是什么,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • springboot+vue實(shí)現(xiàn)websocket配置過(guò)程解析

    springboot+vue實(shí)現(xiàn)websocket配置過(guò)程解析

    這篇文章主要介紹了springboot+vue實(shí)現(xiàn)websocket配置過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • RocketMQ集群消費(fèi)與廣播消費(fèi)模式

    RocketMQ集群消費(fèi)與廣播消費(fèi)模式

    這篇文章主要介紹了RocketMQ集群消費(fèi)與廣播消費(fèi)模式,消息隊(duì)列RocketMQ版支持集群消費(fèi)和廣播消費(fèi),本文介紹集群消費(fèi)和廣播消費(fèi)的基本概念、適用場(chǎng)景、功能差異、注意事項(xiàng)以及設(shè)置方式
    2023-02-02
  • java生成指定范圍的隨機(jī)日期

    java生成指定范圍的隨機(jī)日期

    這篇文章主要為大家詳細(xì)介紹了java生成指定范圍的隨機(jī)日期,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • mall整合SpringSecurity及JWT實(shí)現(xiàn)認(rèn)證授權(quán)實(shí)戰(zhàn)

    mall整合SpringSecurity及JWT實(shí)現(xiàn)認(rèn)證授權(quán)實(shí)戰(zhàn)

    這篇文章主要為大家介紹了mall整合SpringSecurity及JWT實(shí)現(xiàn)認(rèn)證授權(quán)實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • ELK搭建線(xiàn)上日志收集系統(tǒng)

    ELK搭建線(xiàn)上日志收集系統(tǒng)

    ELK日志收集系統(tǒng)進(jìn)階使用,本文主要講解如何打造一個(gè)線(xiàn)上環(huán)境真實(shí)可用的日志收集系統(tǒng),有了它,你就可以和去服務(wù)器上撈日志說(shuō)再見(jiàn)了
    2022-07-07
  • Java聊天室之實(shí)現(xiàn)運(yùn)行服務(wù)器與等待客戶(hù)端連接

    Java聊天室之實(shí)現(xiàn)運(yùn)行服務(wù)器與等待客戶(hù)端連接

    這篇文章主要為大家詳細(xì)介紹了Java簡(jiǎn)易聊天室之實(shí)現(xiàn)運(yùn)行服務(wù)器程序與等待客戶(hù)端程序連接功能,文中的示例代碼講解詳細(xì),需要的可以了解一下
    2022-10-10
  • Java生成中間logo的二維碼的示例代碼

    Java生成中間logo的二維碼的示例代碼

    這篇文章主要介紹了Java如何生成中間logo的二維碼,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Java使用System.currentTimeMillis()方法計(jì)算程序運(yùn)行時(shí)間的示例代碼

    Java使用System.currentTimeMillis()方法計(jì)算程序運(yùn)行時(shí)間的示例代碼

    System.currentTimeMillis() 方法的返回類(lèi)型為 long ,表示毫秒為單位的當(dāng)前時(shí)間,文中通過(guò)示例代碼介紹了計(jì)算 String 類(lèi)型與 StringBuilder 類(lèi)型拼接字符串的耗時(shí)情況,對(duì)Java計(jì)算程序運(yùn)行時(shí)間相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-03-03
  • Java操作文件路徑正反斜杠問(wèn)題解決

    Java操作文件路徑正反斜杠問(wèn)題解決

    最近在實(shí)現(xiàn)文件上傳時(shí),windows與linux系統(tǒng)出現(xiàn)的問(wèn)題,兩個(gè)系統(tǒng)中操作文件使用"\","/"導(dǎo)致IOException,本文主要介紹了Java操作文件路徑正反斜杠問(wèn)題解決,感興趣的可以了解一下啊
    2024-01-01

最新評(píng)論