我有这个应该 24/7 运行的 Perl 软件。它保持与 IMAP 服务器的连接打开,检查新邮件,然后对新邮件进行分类。
现在我有一个用户每隔一段时间就会让他的 XP 笔记本电脑休眠。发生这种情况时,与服务器的连接失败并触发异常。调用代码通常会捕获该异常并尝试重新连接。但在这种情况下,似乎 Windows(或 Perl?)正在捕获异常并通过消息框将其传递给用户。
任何人都知道我可以如何防止这种wtf?我的代码可以捕捉到“系统即将休眠”的信号吗?
为了澄清您已经提出的一些观点:
- 我对用户休眠他们的机器没有任何问题。我只需要找到一种方法来处理它。
- 有问题的 Perl 模块确实会引发异常。它执行类似“die 'foo bar' 的操作。尽管应用程序完全基于浏览器并且不使用 Wx 或 Tk 之类的任何东西,但用户会收到一个标题为“poll_timer”的消息框。该消息框的内容正是其内容$@ (本例中为“foo bar”)。
- 该应用程序使用perlapp编译成可执行文件。但是,该文档没有提及有关异常处理的任何内容。