gpt4 book ai didi

java - 如果不使用finally,我们如何在抛出异常后执行任何语句?

转载 作者:行者123 更新时间:2023-12-02 05:13:26 25 4
gpt4 key购买 nike

如果不使用finally,我们如何在抛出异常后执行任何强制语句?此外,所使用的变量或方法仅在 try block 内具有作用域。这个问题是我在一次采访中问到的。请提出答案。

try{
//........ statement 1
// ....... statement 2 might throw an Exception
// ....... statement 3 - A compulsory statement
needs to be executed even if exception is thrown.

}
catch {

}

最佳答案

这实际上只是学术性的 - 如果您希望在抛出异常后执行语句,您确实应该使用finally。但是,您可以在 try-catch block 中捕获异常,将语句放入 catch 子句中,然后重新抛出异常。强调可以,当然你不应该。

/*
* DO NOT DO THIS! (Even if you could.)
*/
try {
//........ statement 1
Exception e = null;
try {
// ....... statement 2 might throw an Exception
} catch (Exception e2) {
e = e2;
}
// ....... statement 3 - A compulsory statement
// needs to be executed even if exception is thrown.

if (e!=null) {
throw e;
}
}
catch {

}

关于java - 如果不使用finally,我们如何在抛出异常后执行任何语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27168421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com