java異常處理總結筆記

2021-06-22 17:55:48 字數 1640 閱讀 7631

異常型別的繼承關係

1. 所有異常型別的祖先類是exception類,它有幾個常用的函式:

exception(string msg):構造異常物件,並將其提示資訊設定為msg.

string getmessage():返回提示資訊,也就是建構函式中設定的msg.

void printstacktrace():將異常跟蹤棧資訊列印在螢幕上。

用法舉例:

try

catch(ioexception e)

2. runtime exception及其子類稱為「runtime異常」,其餘所有的異常統稱為「checked異常」。

try,catch,finally關鍵字

try

catch(異常型別1 e)

catch(異常型別2 e)

...finally

1. catch塊和finally塊是可選的,但是至少出現其中之一,不能都不出現。

2. 如果在try/catch中執行到退出jvm語句system.exit(1),則會立即終止程式,否則,無論是否出現異常,finally塊都一定會被執行。

即使在try/catch中執行到了return/throw,也是轉為立即執行finally塊。如果在finally塊中沒有執行到return/throw,才返回來執行try/catch中的return/throw;如果在finally塊中執行到了return/throw,則函式立即返回,try/catch中的return/throw根本沒機會執行。

throws關鍵字

1. 如果函式本身不知道該如何處理某個異常,想交給父函式來處理,則可以在函式名後面加「 throws 異常型別1, 異常型別2...」。例如,

public static void test() throws ioexception

2. 主函式同樣也可以用throws關鍵字將異常拋給jvm來處理,jvm處理的方式就是終止程式,列印異常跟蹤棧資訊。

3. checked異常要麼用try...catch捕獲,要麼用throws捕獲,如果都沒有的話會編過不去;runtime異常可以不理會,這樣它會被自動交給父函式來處理。

throw關鍵字

可以用「throw 異常物件」語句主動丟擲異常。例如,

throw new exception("a的值不能小於0");    //checked異常

throw new runtimeexception("a的值不能小於0"); //runtime異常

自定義異常型別通過繼承已有的異常型別來實現。例如,

public class myexception extends exception

public myexception(string errmsg)

}



Java異常處理總結

轉至 http sllereak.blog.163.com blog runtimeexception 執行時異常,不需要顯示捕獲 只要是throwable的例項或者它的子類的例項都能被throws 方法中 也能被throw 塊中 exception我能處理的 error系統斷電,無法處理 runt...

java學習筆記 java異常處理

1.異常的處理流程 建立異常 丟擲異常 捕獲處理異常 對應於 try throw catch try throw.catch 要點 宣告乙個異常 public void mymethod throws exception1,exception2,exception3,使用throw 來宣告乙個方法的...

Java異常處理

package test public class testexception boolean testex throws exception catch exception e finally boolean testex1 throws exception system.out.println ...