java編程學(xué)習(xí):Java異常處理(第二章)

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)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 八、深入理解java異常處理機(jī)制 引子try…catch…finally恐怕是大家再熟悉不過(guò)的語(yǔ)句了, 你的答案是...
    壹點(diǎn)零閱讀 1,725評(píng)論 0 0
  • 一、Java 簡(jiǎn)介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)...
    子非魚(yú)_t_閱讀 4,538評(píng)論 1 44
  • CPA,確切的說(shuō)叫做CICPA,中國(guó)注冊(cè)會(huì)計(jì)師,和司法考試并稱(chēng)國(guó)內(nèi)最難最變態(tài)的兩大職業(yè)資格考試,難到什么程度呢,據(jù)...
    米果媽閱讀 1,623評(píng)論 42 60
  • 朋友說(shuō)現(xiàn)在的生活不是她想要過(guò)的那種,我問(wèn)她想要過(guò)什么樣的生活,微信那頭突然沉默了。我沒(méi)有再問(wèn),因?yàn)檫@串字符剛發(fā)出去...
    腦洞大叔閱讀 607評(píng)論 0 3
  • 今天是臘月二十三,俗稱(chēng)“小年”,又是祭灶神的日子。據(jù)說(shuō)灶神觀察人們?cè)鯓由睿绾涡惺?,并把好事壞事都記錄下?lái),...
    鄧啟旭鄧君浩媽媽閱讀 107評(píng)論 0 0

友情鏈接更多精彩內(nèi)容