您好,登錄后才能下訂單哦!
JAVA異常類結(jié)構(gòu)是什么?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!
1、異常類大致結(jié)構(gòu)
2.Throwable是所有異常類的超類.
3.當(dāng)程序可能出現(xiàn)錯(cuò)誤(異常)的時(shí)候應(yīng)該使用,使用關(guān)鍵捕獲異常進(jìn)行處理.
4.捕獲異常結(jié)構(gòu)如下:
public void test() { int num1 = 10; int num2 = 0; try { System.out.println(num1 / num2); // try可能出現(xiàn)錯(cuò)誤的語(yǔ)句塊 } catch (Exception e) { // 異常類型 并實(shí)例化一個(gè)異常類型e,用來(lái)對(duì)出現(xiàn)的異常進(jìn)行說(shuō)明 e.printStackTrace(); // 如果出現(xiàn)錯(cuò)誤執(zhí)行catch里面內(nèi)容,否則跳過(guò)catch語(yǔ)句塊 } finally { System.out.println("永遠(yuǎn)都會(huì)被執(zhí)行,(system.exit)特殊情況除外,");// 無(wú)論是否出現(xiàn)異常都會(huì)執(zhí)行finally語(yǔ)句塊 } }
5.有的函數(shù)聲明定義的時(shí)候直接拋出了異常,name在調(diào)用的時(shí)候就需要捕獲異?;蛘呃^續(xù)拋出異常.
public static void main(String[] args) { try { test(); //調(diào)用這個(gè)方法就必須捕獲異常或者繼續(xù)拋出異?! ? } catch (Exception e) { e.printStackTrace(); } } //方法定義的時(shí)候拋出了異常 public static void test() throws Exception { int num1 = 10; int num2 = 0; System.out.println(num1 / num2); }
6.自定義異常類,必須繼承一個(gè)異常的父類:
public class ExceptionTest extends Exception{ @Override //這個(gè)是注解,表示這是重寫(xiě)的方法 public void printStackTrace() { System.out.println("自己定義的異常類"); System.out.println("嘗試一下如果程序沒(méi)有出現(xiàn)異常,強(qiáng)制拋出這個(gè)自定義異常,可不可以捕獲"); } }
7.嘗試使用(捕獲)自定義的異常類
public class Main { public static void main(String[] args) { try { test(); //調(diào)用這個(gè)方法嘗試捕獲自定義異常 } catch (ExceptionTest e) { e.printStackTrace(); //自定義的異常類重寫(xiě)了printStackTrace這個(gè)方法 } } //繼續(xù)往上拋出異常 public static void test() throws ExceptionTest{ throw new ExceptionTest(); //強(qiáng)制產(chǎn)生一個(gè)自定義的異常并往上拋 } }
感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)JAVA異常類結(jié)構(gòu)是什么大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。