異常的基本知識(shí)

2021-3-25    前端達(dá)人

異常包括的主要關(guān)鍵字有try{}catch(){}finally{} throw和throws五個(gè)關(guān)鍵字 。

下面我們來細(xì)說一下這五個(gè)關(guān)鍵字分別有什么用。

try catch關(guān)鍵字 這兩個(gè)關(guān)鍵字是連用的

1.如果try塊中的語句正常執(zhí)行完畢,不會(huì)發(fā)生異常則catch塊中的語句都將會(huì)被忽略。

2.如果try語句塊在執(zhí)行中遇到異常。并且這個(gè)異常與catch中聲明的異常類型相匹配,那么在try塊中其余剩下的代碼都將被忽略。

3.如果try語句塊在執(zhí)行過程中遇到異常,而拋出的異常在catch塊中沒有被聲明,那么程序立刻退出。

finally關(guān)鍵字這個(gè)關(guān)鍵字中的代碼總能被執(zhí)行(怎么我都要執(zhí)行 )

1.只要try中所有語句正常執(zhí)行完畢,那么finally塊就會(huì)被執(zhí)行。

2.如果try語句塊在執(zhí)行過程中碰到異常,無論這種異常能否被catch塊捕獲到,都將執(zhí)行finally塊中的代碼。

注:try—catch—finally結(jié)構(gòu)中try塊是必需的catch和finally塊為可選,但兩者至少須出現(xiàn)其中之一。

如果catch中存在return,finally也會(huì)執(zhí)行只不過執(zhí)行的順序有一定差異 ,先執(zhí)行catch里的代碼塊,之后執(zhí)行finally里的代碼塊,最后執(zhí)行return語句。

throw關(guān)鍵字拋出異常

throws關(guān)鍵字聲明捕捉異常

那么throw和throws有什么區(qū)別呢

1.作用不同:throw用于在程序中拋出異常;throws用于聲明在該方法內(nèi)拋出異常。

2.使用的位置不同:throw位于方法體內(nèi)部,可以作為單獨(dú)語句使用;throws必須跟在方法參數(shù)列表的后面,不能單獨(dú)使用。

3.內(nèi)容不同:throw拋出一個(gè)異常對(duì)象,而且只能有一個(gè);throws后面跟異常類,而且可以跟多個(gè)異常類。

知道了這五個(gè)關(guān)鍵字的用法下面我們來說一下幾個(gè)常用的異常代碼:

1.ArithmeticException 試圖除以0。

2.NullpointerException 當(dāng)程序訪問一個(gè)空對(duì)象的成員變量或方法,訪問一個(gè)空數(shù)組的成員時(shí)發(fā)生。

3.ClassCastException 發(fā)生多態(tài)后,吐過強(qiáng)制轉(zhuǎn)換的并不是父類的子類時(shí)發(fā)生。編譯的時(shí)候可以通過,以為編譯的時(shí)候并不會(huì)檢查類型轉(zhuǎn)換的問題。

4.ArraylndwxOutOfBoundsException 訪問的元素下標(biāo)超過數(shù)組長(zhǎng)度

5.NumberFormatException 數(shù)字格式異常。

6.Exception 一般的異常都包括。


轉(zhuǎn)自:csdn 

藍(lán)藍(lán)設(shè)計(jì)www.bouu.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)

分享本文至:

日歷

鏈接

個(gè)人資料

存檔