【发布时间】:2023-03-05 03:43:01
【问题描述】:
当我多次运行这个程序时,我得到了不同的输出:
public class Demo {
public static void main(String[] args) {
try {
System.out.println("try block");
int a = 10 / 0;
} catch (Exception e) {
System.out.println("catch block");
int a = 10 / 0;
} finally {
System.out.println("finally block");
int a = 10 / 0;
}
}
}
第一个输出:
Exception in thread "main" java.lang.ArithmeticException: / by zero
at kd.demo.Demo2.main(Demo2.java:14)
try block
catch block
finally block
第二次输出:
Exception in thread "main" try block
catch block
finally block
java.lang.ArithmeticException: / by zero
at kd.demo.Demo2.main(Demo2.java:14)
第三个输出:
Exception in thread "main" try block
catch block
finally block
java.lang.ArithmeticException: / by zero
at kd.demo.Demo2.main(Demo2.java:14)
当我多次编译和执行这个程序时,我得到了不同的输出。大多数时候我得到了第三个,这不是问题。但是,我对其他输出(第一个和第二个)感到困惑。
【问题讨论】:
-
第二和第三有什么区别?
标签: java