Java只有在Try和Catch块中没有引发异常时才运行代码吗?
如何使代码仅在未引发异常时运行?
不管是否有异常,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
块中,但您的问题中没有足够的信息来判断这样做是否更好。
相关文章