如果我有一个可以因各种原因退出的 Java 程序,例如:
因为设置为“关闭时退出”的主窗口已关闭
因为代码中有一些 System.exit( 0 )
因为根本没有更多的窗口(并且没有设置在关闭时退出)但是仍然有几个线程在运行,然后在某一时刻只有守护线程在运行,因此程序退出。
而且我安装了一个关闭挂钩(运行良好)。
有什么方法可以从我的关闭挂钩中知道是什么导致 Java 程序退出?
(请注意,我不是在问这是否是一个好主意或不System.exit(...)
传播代码库:这不是这个问题的目的)
基本上我想知道我是否被迫拦截每一个可能的 JVM 退出点并在那里添加信息,或者是否已经有一种方法允许这样做。