<form id="dlljd"></form>
        <address id="dlljd"><address id="dlljd"><listing id="dlljd"></listing></address></address>

        <em id="dlljd"><form id="dlljd"></form></em>

          <address id="dlljd"></address>
            <noframes id="dlljd">

              聯系我們 - 廣告服務 - 聯系電話:
              您的當前位置: > 關注 > > 正文

              finally的作用是什么?java異常處理之finally

              來源:CSDN 時間:2023-03-14 08:33:23

              上節課我們學習了異常的拋出和捕獲,這節課我們再來學一個關鍵字: finally

              finally和final是不一樣的哦,final是聲明常量的,而finally是做異常處理的。

              finally語法:


              (資料圖片僅供參考)

              try{

              可能包含異常的代碼

              }catch(異常類 變量名){

              異常處理代碼

              }...(多個catch)

              finally{

              后置處理代碼

              }

              來看一個小例子:

              Demo:

              public static void main(String[] args) {    try {        test();    } catch (Exception e) {        e.printStackTrace();    }}public static void test() throws Exception {    try {        throw new Exception("lalalala");    }catch (RuntimeException e){        e.printStackTrace();    }finally {        System.out.println("finally");    }}

              輸出:

              finally

              java.lang.Exception: lalalala

              at helloworld.exception.FinallyTeach.test(FinallyTeach.java:15)

              at helloworld.exception.FinallyTeach.main(FinallyTeach.java:7)

              結論:

              異常如果沒有被捕獲,會執行finally的代碼

              Demo 2:

              public static void main(String[] args) {    try {        test2();    } catch (Exception e) {        e.printStackTrace();    }}public static void test2() throws Exception {    try {        throw new RuntimeException("abcd");    }catch (RuntimeException e){        e.printStackTrace();    }finally {        System.out.println("finally");    }}

              輸出:

              finally

              java.lang.RuntimeException: abcd

              at helloworld.exception.FinallyTeach.test2(FinallyTeach.java:25)

              at helloworld.exception.FinallyTeach.main(FinallyTeach.java:7)

              結論: 如果異常被捕獲,依然會執行finally里的代碼

              最終結論:

              無論異常是否被捕獲,finally的代碼一定會被執行。finally里適合存放釋放資源、后續處理的代碼

              責任編輯:

              標簽:

              相關推薦:

              精彩放送:

              新聞聚焦
              Top 中文字幕在线观看亚洲日韩