gpt4 book ai didi

java - 如果出现错误,程序会显示意外行为

转载 作者:搜寻专家 更新时间:2023-10-31 08:23:02 25 4
gpt4 key购买 nike

<分区>

我只是尝试使用 try-catch 和这段代码:

public class MainThread
{
public static void main(String [] args)
{
try
{
badMethod();
System.out.print("A");
}
catch (Exception ex)
{
System.out.print("B");
}
finally
{
System.out.print("C");
}
System.out.print("D");
}
public static void badMethod()
{
throw new Error(); /* Line 22 */
}
}

我理解Error不会被上面的catch block 捕获,但是finally block 会被执行,然后JVM会终止。

但是当我多次尝试运行该程序时,我得到了不同的输出:

C 在堆栈跟踪之前打印:

CException in thread "main" java.lang.Error
at MainThread.badMethod(MainThread.java:22)
at MainThread.main(MainThread.java:7)

C 在堆栈跟踪之后打印:

Exception in thread "main" java.lang.Error
at MainThread.badMethod(MainThread.java:22)
at MainThread.main(MainThread.java:7)
C

谁能解释这种行为?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com