0

我有以下 ShutdownHook 来检测应用程序何时退出:

    Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
        public void run() {

            // Do what you want when the application is stopping
            sendMsg("", "goOfflineExit", "12");
        }
    }));

这在 Mac 操作系统上完美运行,但由于某种原因,在 Windows 上什么都没有触发。

任何想法我缺少什么?

4

1 回答 1

3

我能想到两种可能的解释:

  • sendMsg(...)呼叫可能发生得太晚了;例如,在流已关闭或刷新之后。

  • sendMsg(...)调用可能会引发异常。关闭挂钩中抛出的未捕获异常通常不会被报告。

如果您向我们展示代码,sendMsg我们也许能够找出更明确的答案。

于 2013-09-01T13:26:48.537 回答