一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java異常機(jī)制分析

java異常機(jī)制分析

2019-11-28 14:19shichen2014 JAVA教程

這篇文章主要介紹了java異常機(jī)制,包括異常機(jī)制的捕獲、拋出及常見的異常機(jī)制總結(jié),需要的朋友可以參考下

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

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

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

java的異常處理有兩種

1、捕獲異常

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
try
{
//執(zhí)行可能產(chǎn)生異常的代碼
 
}
catch(RuntimeException e)
{
//對捕獲的異常進(jìn)行處理
}
catch(Exception e)//可定義捕獲多個(gè)異常
{
//對捕獲的異常進(jìn)行處理
}
finally
{
//捕獲完后要執(zhí)行的代碼,可有可無,如果有的話就一定會(huì)執(zhí)行,不管有沒有異常
}
try-catch-finally

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

2、聲明拋出異常

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

3、人為的拋出異常

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

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

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

?
1
2
3
4
5
6
7
8
class myException extends Exception
{
  public myException(String str)
  {
    super(str);
  }
}
myException

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

常見的異常類型有:

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

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

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

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

5、IOException:輸入輸出流異常

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色花堂国产精品首页第一页 | 丝袜兔女郎被啪在线观看91 | 91影视在线看免费观看 | 美女被扒开屁股进去网 | a∨79成人网 | japaneseles女同专区 | 小寡妇好紧进去了好大看视频 | 青青99| 男女天堂| 胸奶好大好紧好湿好爽 | 亚洲a视频在线观看 | 成年人在线观看视频 | 午夜特级毛片 | 亚洲精品一区制服丝袜 | 激情综合| 爱爱小说漫画 | 精品福利一区二区免费视频 | 免费亚洲视频在线观看 | 丰满艳妇亲伦视频 | 亚洲激情 欧美 | 日本孕妇大胆孕交 | 婷婷综合亚洲 | 日韩国产欧美精品综合二区 | 小伙无套内射老女人 | 羞羞影院午夜男女爽爽影院网站 | 亚洲精品综合一二三区在线 | 国自产在线精品免费 | 十八女下面流水不遮免费 | 无码乱人伦一区二区亚洲一 | 日本不卡免费新一二三区 | 日本无吗免费一二区 | 国产在线麻豆波多野结衣 | 色噜噜狠狠色综合 | 女教师波多野结衣高清在线 | 欧美日韩高清不卡一区二区三区 | 美女被的视频 | 好涨好大我快受不了了视频网 | 插得好爽 | 国自产在线精品免费 | 色婷婷综合缴情综六月 | 国产女主播福利在线 |