编写一段代码证明 java对try——catch——finally的执行机制是这样的:在虚拟机不退出,即程序不终止的情况下,finally方法总会得到执行,即便catch块里有return语句也会执行完finally再返回。并且返回的是catch快中return的值(finally中不存在return)
时间: 2023-05-31 13:07:50 浏览: 71
以下是实现上述机制的Java代码:
public class TryCatchFinallyExample {
public static void main(String[] args) {
int result = performDivision(10, 0);
System.out.println("Result of division is: " + result);
}
private static int performDivision(int dividend, int divisor) {
try {
int result = dividend / divisor;
return result;
} catch (ArithmeticException ex) {
System.out.println("Exception caught: " + ex.getMessage());
return 0;
} finally {
System.out.println("Finally block executed.");
}
}
}
运行上述代码,输出结果如下:
Exception caught: / by zero
Finally block executed.
Result of division is: 0
从结果可以看出,程序在出现ArithmeticException异常时执行了catch块中的代码,之后执行了finally块中的代码,最终返回了catch块中的return值0。