Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專(zhuān)業(yè)社群。
給你學(xué)習(xí)路線:html-css-js-jq-javase-數(shù)據(jù)庫(kù)-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

上篇講了java的 異常處理:
捕獲異常
多重捕獲塊
throws/throw 關(guān)鍵字
現(xiàn)繼續(xù)前緣,讓我們共同了解Java 異常處理吧。

小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 七六零,二五零,五四一 】,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!
finally關(guān)鍵字
finally 關(guān)鍵字用來(lái)創(chuàng)建在 try 代碼塊后面執(zhí)行的代碼塊。
無(wú)論是否發(fā)生異常,finally 代碼塊中的代碼總會(huì)被執(zhí)行。
在 finally 代碼塊中,可以運(yùn)行清理類(lèi)型等收尾善后性質(zhì)的語(yǔ)句。
finally 代碼塊出現(xiàn)在 catch 代碼塊最后,語(yǔ)法如下:

實(shí)例

以上實(shí)例編譯運(yùn)行結(jié)果如下:

注意下面事項(xiàng):
catch 不能獨(dú)立于 try 存在。
在 try/catch 后面添加 finally 塊并非強(qiáng)制性要求的。
try 代碼后不能既沒(méi) catch 塊也沒(méi) finally 塊。
try, catch, finally 塊之間不能添加任何代碼。
聲明自定義異常
在 Java 中你可以自定義異常。編寫(xiě)自己的異常類(lèi)時(shí)需要記住下面的幾點(diǎn)。
所有異常都必須是 Throwable 的子類(lèi)。
如果希望寫(xiě)一個(gè)檢查性異常類(lèi),則需要繼承 Exception 類(lèi)。
如果你想寫(xiě)一個(gè)運(yùn)行時(shí)異常類(lèi),那么需要繼承 RuntimeException 類(lèi)。
可以像下面這樣定義自己的異常類(lèi):

只繼承Exception 類(lèi)來(lái)創(chuàng)建的異常類(lèi)是檢查性異常類(lèi)。
下面的 InsufficientFundsException 類(lèi)是用戶定義的異常類(lèi),它繼承自 Exception。
一個(gè)異常類(lèi)和其它任何類(lèi)一樣,包含有變量和方法。
實(shí)例
以下實(shí)例是一個(gè)銀行賬戶的模擬,通過(guò)銀行卡的號(hào)碼完成識(shí)別,可以進(jìn)行存錢(qián)和取錢(qián)的操作。

小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 七六零,二五零,五四一 】,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!
為了展示如何使用我們自定義的異常類(lèi),
在下面的 CheckingAccount 類(lèi)中包含一個(gè) withdraw() 方法拋出一個(gè) InsufficientFundsException 異常。


下面的 BankDemo 程序示范了如何調(diào)用 CheckingAccount 類(lèi)的 deposit() 和 withdraw() 方法。

編譯上面三個(gè)文件,并運(yùn)行程序 BankDemo,得到結(jié)果如下所示:

小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 七六零,二五零,五四一 】,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!
通用異常
在Java中定義了兩種類(lèi)型的異常和錯(cuò)誤。
JVM(Java虛擬機(jī)) 異常:由 JVM 拋出的異常或錯(cuò)誤。例如:NullPointerException 類(lèi),ArrayIndexOutOfBoundsException 類(lèi),ClassCastException 類(lèi)。
程序級(jí)異常:由程序或者API程序拋出的異常。例如 IllegalArgumentException 類(lèi),IllegalStateException 類(lèi)。


