2021-3-25 前端達人
異常包括的主要關(guān)鍵字有try{}catch(){}finally{} throw和throws五個關(guān)鍵字 。
下面我們來細說一下這五個關(guān)鍵字分別有什么用。
try catch關(guān)鍵字 這兩個關(guān)鍵字是連用的
1.如果try塊中的語句正常執(zhí)行完畢,不會發(fā)生異常則catch塊中的語句都將會被忽略。
2.如果try語句塊在執(zhí)行中遇到異常。并且這個異常與catch中聲明的異常類型相匹配,那么在try塊中其余剩下的代碼都將被忽略。
3.如果try語句塊在執(zhí)行過程中遇到異常,而拋出的異常在catch塊中沒有被聲明,那么程序立刻退出。
finally關(guān)鍵字這個關(guān)鍵字中的代碼總能被執(zhí)行(怎么我都要執(zhí)行 )
1.只要try中所有語句正常執(zhí)行完畢,那么finally塊就會被執(zhí)行。
2.如果try語句塊在執(zhí)行過程中碰到異常,無論這種異常能否被catch塊捕獲到,都將執(zhí)行finally塊中的代碼。
注:try—catch—finally結(jié)構(gòu)中try塊是必需的catch和finally塊為可選,但兩者至少須出現(xiàn)其中之一。
如果catch中存在return,finally也會執(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)部,可以作為單獨語句使用;throws必須跟在方法參數(shù)列表的后面,不能單獨使用。
3.內(nèi)容不同:throw拋出一個異常對象,而且只能有一個;throws后面跟異常類,而且可以跟多個異常類。
知道了這五個關(guān)鍵字的用法下面我們來說一下幾個常用的異常代碼:
1.ArithmeticException 試圖除以0。
2.NullpointerException 當(dāng)程序訪問一個空對象的成員變量或方法,訪問一個空數(shù)組的成員時發(fā)生。
3.ClassCastException 發(fā)生多態(tài)后,吐過強制轉(zhuǎn)換的并不是父類的子類時發(fā)生。編譯的時候可以通過,以為編譯的時候并不會檢查類型轉(zhuǎn)換的問題。
4.ArraylndwxOutOfBoundsException 訪問的元素下標超過數(shù)組長度
5.NumberFormatException 數(shù)字格式異常。
6.Exception 一般的異常都包括。
轉(zhuǎn)自:csdn
藍藍設(shè)計( m.bouu.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)
藍藍設(shè)計的小編 http://m.bouu.cn