为什么在没有处理Java中的异常的情况下调用抛出RuntimeException的方法时程序不会终止?

use*_*100 2 java exception-handling

第1类:

package hf;

public class apples
{
    public static void main(String[] args)
    {
        Good good = new Good();

        good.method();
    }
}
Run Code Online (Sandbox Code Playgroud)

第2类:

package hf;

public class Goodie extends NullPointerException
{

}
Run Code Online (Sandbox Code Playgroud)

第3类:

package hf;

public class Good 
{
    public void method() throws Goodie
    {
        System.out.println("Goodmethod");
        throw new Goodie();
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有使用任何的try/catch块捕获NullPointerException异常(延伸的RuntimeException)当我打电话的1类good.method()当我运行程序时引发,在Eclipse控制台表明该程序仍在运行因为它不会显示在控制台框的顶部,就像程序执行结束时一样.

为什么程序仍在运行?

如何在不按红色停止按钮的情况下暂停程序执行?

aio*_*obe 5

您发布的程序将在您抛出未捕获的异常时终止.我自己测试了一下.

阻止JVM终止的唯一方法是运行非守护程序线程.例如,如果您已显示GUI,则必须确保终止EDT以使应用程序完全终止.