finally
块内使用的 return
、throw
、break
、continue
和 yield
语句。 这些会导致 finally
块无法正常完成而是突然完成。
从同一 try
-catch
语句的 try
和 catch
块引发的任何异常将被抑制。
示例:
void x() {
try {
throw new RuntimeException();
} finally {
// 如果 bar() 返回 true,则 RuntimeException 将被抑制
if (bar()) return;
}
}