最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java異常機(jī)制分析

 更新時(shí)間:2014年09月12日 09:01:01   投稿:shichen2014  
這篇文章主要介紹了java異常機(jī)制,包括異常機(jī)制的捕獲、拋出及常見(jiàn)的異常機(jī)制總結(jié),需要的朋友可以參考下

本文實(shí)例分析了Java的異常機(jī)制,分享給大家供大家參考。相信有助于大家提高大家Java程序異常處理能力。具體分析如下:

眾所周知,java中的異常(Exception)機(jī)制很重要,程序難免會(huì)出錯(cuò),異常機(jī)制可以捕獲程序中的錯(cuò)誤,用來(lái)提高程序的穩(wěn)定性和健壯性。

java中的異常分為Checked Exception(非Runtime Exception)和UnChecked Exception(Runtime Exception),所有的異常類(lèi)都直接或間接的繼承Exception。Exception又直接繼承自Throwable類(lèi),Throwable類(lèi)的直接子類(lèi)還有error類(lèi),不過(guò)當(dāng)出現(xiàn)error時(shí),程序會(huì)直接退出執(zhí)行,程序處理不了error,所以這里重點(diǎn)討論Exception類(lèi)。RuntimeException類(lèi)繼承自Exception,運(yùn)行時(shí)異常都直接或間接繼承自RuntimeException類(lèi)。其他繼承Exception類(lèi)的是非運(yùn)行時(shí)異常,在編譯期間可發(fā)現(xiàn)。運(yùn)行時(shí)異常是在運(yùn)行時(shí)才會(huì)出現(xiàn)的,如算術(shù)除零,在編譯期間是可以通過(guò)的,但在運(yùn)行時(shí)會(huì)拋出運(yùn)行時(shí)異常,除數(shù)不能為零。

java的異常處理有兩種

1、捕獲異常

結(jié)構(gòu)如下

try
{
//執(zhí)行可能產(chǎn)生異常的代碼

}
catch(RuntimeException e)
{
//對(duì)捕獲的異常進(jìn)行處理
}
catch(Exception e)//可定義捕獲多個(gè)異常
{
//對(duì)捕獲的異常進(jìn)行處理
}
finally
{
//捕獲完后要執(zhí)行的代碼,可有可無(wú),如果有的話就一定會(huì)執(zhí)行,不管有沒(méi)有異常
}
try-catch-finally

如果異常被catch捕獲后,后面還有catch語(yǔ)句就不會(huì)執(zhí)行了,但如果有finally的話就一定會(huì)執(zhí)行finally塊里面的語(yǔ)句。

2、聲明拋出異常

在調(diào)用會(huì)產(chǎn)生異常的方法所在的方法聲明處聲明throws Exception,此方法將不會(huì)對(duì)該類(lèi)異常進(jìn)行處理,而是由該方法的調(diào)用者處理。

3、人為的拋出異常

直接在方法內(nèi)拋出異常,throw exception;

對(duì)于運(yùn)行時(shí)異常推薦不對(duì)其進(jìn)行處理。

自定義異常是定義了一個(gè)繼承自Exception類(lèi)的子類(lèi),一般不會(huì)定義繼承自RuntimeException類(lèi),在try塊中存在return語(yǔ)句時(shí),如果有finally塊語(yǔ)句,那么也要先執(zhí)行完finally塊的語(yǔ)句之后再返回,但如果try塊中存在System.exit(0)語(yǔ)句,就不會(huì)執(zhí)行finally塊的語(yǔ)句,因?yàn)镾ystem.exit(0)會(huì)終止當(dāng)前運(yùn)行的java虛擬機(jī),程序會(huì)在虛擬機(jī)終止前結(jié)束執(zhí)行。

class myException extends Exception
{
  public myException(String str)
  {
    super(str);
  }
}
myException

異常在文件處理,輸入輸出流的應(yīng)用場(chǎng)合等都會(huì)用上。

常見(jiàn)的異常類(lèi)型有:

1、java.lang.NullPointerException:空指針異常,出現(xiàn)該異常的原因就是某個(gè)引用為null,但程序中又調(diào)用了該引用的某個(gè)方法。

2、java.lang.ClassNotFoundException :找不到指定的類(lèi),可能是類(lèi)未定義。

3、java.lang.ArithmeticException:算術(shù)異常,如除數(shù)為零。

4、FileNotFoundException:在文件處理中,找不到指定的文件。

5、IOException:輸入輸出流異常

6、SQLException:sql異常,執(zhí)行sql語(yǔ)句出現(xiàn)錯(cuò)誤。

此外還有許多類(lèi)型的異常,在以后的編程中會(huì)遇到。相信本文所述對(duì)大家的Java程序設(shè)計(jì)有一定的借鑒價(jià)值。

相關(guān)文章

  • 使用maven實(shí)現(xiàn)版本覆蓋的案例分享

    使用maven實(shí)現(xiàn)版本覆蓋的案例分享

    這篇文章主要介紹了使用maven實(shí)現(xiàn)版本覆蓋的案例分享,文中通過(guò)圖文結(jié)合的方式給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-10-10
  • Java中的?CyclicBarrier詳解

    Java中的?CyclicBarrier詳解

    這篇文章主要介紹了Java中的?CyclicBarrier詳解,CyclicBarrier沒(méi)有顯示繼承哪個(gè)父類(lèi)或者實(shí)現(xiàn)哪個(gè)父接口,?所有AQS和重入鎖不是通過(guò)繼承實(shí)現(xiàn)的,而是通過(guò)組合實(shí)現(xiàn)的,下文相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-04-04
  • Java 流的高級(jí)使用之收集數(shù)據(jù)解析

    Java 流的高級(jí)使用之收集數(shù)據(jù)解析

    這篇文章主要介紹了Java 流的高級(jí)使用之收集數(shù)據(jù)解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • KotlinScript構(gòu)建SpringBootStarter保姆級(jí)教程

    KotlinScript構(gòu)建SpringBootStarter保姆級(jí)教程

    這篇文章主要為大家介紹了KotlinScript構(gòu)建SpringBootStarter的保姆級(jí)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • pom文件中${project.basedir}的使用

    pom文件中${project.basedir}的使用

    這篇文章主要介紹了pom文件中${project.basedir}的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • jenkins中如何集成commander應(yīng)用的完整步驟

    jenkins中如何集成commander應(yīng)用的完整步驟

    jenkins是一個(gè)用java編寫(xiě)的開(kāi)源的持續(xù)集成工具,在與oracle發(fā)生爭(zhēng)執(zhí)后,項(xiàng)目從hudson項(xiàng)目獨(dú)立出來(lái),下面這篇文章主要給大家介紹了關(guān)于jenkins中如何集成commander應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-05-05
  • java數(shù)據(jù)結(jié)構(gòu)與算法之希爾排序詳解

    java數(shù)據(jù)結(jié)構(gòu)與算法之希爾排序詳解

    這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之希爾排序,結(jié)合實(shí)例形式分析了希爾排序的概念、原理、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-05-05
  • 使用FeignClient調(diào)用POST表單Body內(nèi)沒(méi)有參數(shù)問(wèn)題

    使用FeignClient調(diào)用POST表單Body內(nèi)沒(méi)有參數(shù)問(wèn)題

    這篇文章主要介紹了使用FeignClient調(diào)用POST表單Body內(nèi)沒(méi)有參數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 使用Java 實(shí)現(xiàn)一個(gè)“你畫(huà)手機(jī)猜”的小游戲

    使用Java 實(shí)現(xiàn)一個(gè)“你畫(huà)手機(jī)猜”的小游戲

    這篇文章主要介紹了使用Java 實(shí)現(xiàn)一個(gè)“你畫(huà)手機(jī)猜”的小游戲,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java讀取文本文件的各種方法

    Java讀取文本文件的各種方法

    這篇文章主要介紹了Java讀取文本文件的各種方法,在 Java 中有多種方法可以讀取純文本文件,例如你可以使用FileReader、BufferedReader或Scanner來(lái)讀取文本文件,感興趣的小伙伴和小編一起進(jìn)入文章了解更多內(nèi)容吧,希望能幫助到大家
    2021-11-11

最新評(píng)論

盈江县| 顺昌县| 临高县| 剑川县| 娱乐| 涞源县| 永川市| 夏津县| 宁德市| 西贡区| 南华县| 修水县| 西丰县| 天等县| 新竹市| 远安县| 五台县| 延长县| 漳浦县| 安庆市| 郑州市| 通海县| 东兰县| 佳木斯市| 莱阳市| 英山县| 兴宁市| 岚皋县| 山西省| 淮北市| 平江县| 三原县| 应用必备| 涿州市| 广元市| 金溪县| 得荣县| 积石山| 南陵县| 嘉峪关市| 开江县|