九 Java中異常執行流程

2021-08-29 21:22:24 字數 521 閱讀 7711

public class exceptionexecutetest  catch (runtimeexception e) finally

}}

問題1:上面的程式能否編譯通過?如果能,列印結果是什麼?如果不能,請說明理由。

解答:能編譯通過。列印結果是finally。

問題2:上面的程式將return;注釋掉,新增語句system.exit(0);語句,能否編譯通過?如果能,結果是什麼?如果不能,請說明理由。

解答:能編譯通過。結果是什麼都不輸出。分析:system.exit(0);表示程式正常退出,讓虛擬機器終止當前的程式。當try中有system.exit(0);方法被呼叫的時候,它就不會去執行finally裡面的內容,這是乙個特例。所以這個程式不輸出任何結果。

總結:異常的執行流程:在try語句中有返回return;如果後面有finally的話,那麼它會在執行return之前,程式跳到finally裡面去執行,把finally裡面的**執行完之後在去執行return;方法返回。

java中的編譯時異常和執行時異常

首先區分一下 編譯時異常和執行時異常 執行時異常,也就是extends runtimeexception的異常編譯時不用try catch 和throws 編譯時異常,也就是extends exception 的異常需要在呼叫時try catch 或throws package syntax 異常測...

java異常finally相關執行順序

package com.core public class testexception2 suppresswarnings finally boolean testex throws exception catch exception e finally public static void mai...

java中處理異常

今天我們來看一下處理異常的問題。異常物件其實都是派生於throwable類的乙個例項。throwable分支之下有乙個error和乙個exception。常用的方法有 getmessage 用來返回string型別的異常資訊 printstacktrace 列印追蹤方法呼叫棧而獲得的詳細異常資訊,可...