检查是否执行了try或者最后执行了catch

ayu*_*hgp 3 java exception-handling exception

是否有可能检查控制权交给finally来自try或其中一个catch?就像是:

try {
    // Some code
} catch(Exception e) {
    // Some more code
} finally {
    // Check if control came from try or from catch?
}
Run Code Online (Sandbox Code Playgroud)

小智 5

在Java中没有自动化的方法.您可以创建一个布尔标志:

boolean isRaised = false;

try {
    // Some code
}
catch (Exception e) {
    isRaised = true;
}
finally {
    if (isRaised)
        System.out.println("from catch");
    else
        System.out.println("from try");
}
Run Code Online (Sandbox Code Playgroud)