嗨,我有一个关于catch的问题,最后。 我四处寻找同样的情况,但没有运气,但我确定之前已经问过这个问题。所以这可能是重复的。对不起。 无论如何这是我的问题:
这是一个返回布尔值
的方法public static boolean runtimeException() {
try {
int i = 1 / 0;
} catch (ArithmeticException ae) {
return true;
} finally {
return false;
}
}
当我在主函数中调用此方法时:
public static void main(String[] args) {
boolean flag = runtimeException();
System.out.println(flag);
}
结果是:" false"。 我想知道为什么会这样。 我知道finally块必须以任何方式执行,但逻辑上结果对我来说没有意义,因为catch块在之前执行并且函数已经返回true。在返回true后函数如何返回false? 提前谢谢。