Java只有在Try和Catch块中没有引发异常时才运行代码吗?

2022-08-03 00:00:00 exception-handling try-catch java

如何使代码仅在未引发异常时运行?

不管是否有异常,With Finally代码都会运行。

try {
   //do something
} catch (Exception e) {}
//do something only if nothing was thrown

解决方案

有两种方式:

try {
    somethingThatMayThrowAnException();
    somethingElseAfterwards();
} catch (...) {
    ...
}

或者如果您希望第二个代码块位于try块之外:

boolean success = false;
try {
    somethingThatMayThrowAnException();
    success = true;
} catch (...) {
    ...
}
if (success) {
    somethingElseAfterwards();
}

您也可以将if语句放在finally块中,但您的问题中没有足够的信息来判断这样做是否更好。

相关文章