2

您好,在遵循Running JAR file on Windows.jar此处的建议后,每当我在 Windows 中双击它时,我都设法执行了我的应用程序(它是一个 JFrame 应用程序)。

但是,当发生某些异常时,我会e.printstackTrace();向 UI 生成自定义错误消息。当我从命令提示符启动“.jar”文件时,标准错误流是控制台。我的问题是,当我通过双击运行 .jar 时,异常跟踪在哪里?

这是一个“玩具”应用程序,所以我想避免使用日志记录机制——我只需要一个地方来转储所有异常跟踪以供以后调试。

谢谢你。

4

2 回答 2

1

我的问题是,当我通过双击运行 .jar 时,异常跟踪在哪里?

无处。基本上它无处可- 没有连接控制台。您可能希望找到用户的主目录并将日志文件放在那里,或类似的东西。

(而不是使用e.printStackTrace(),我建议使用适当的日志框架,无论是 log4j、java.util.logging 还是其他。你说你不想要一个日志机制,而是“一个转储所有异常跟踪以供以后调试的地方“听起来像是在记录我……)

于 2012-10-10T14:06:12.683 回答
0

您的异常 stackTrace 无处可去。如果你直接双击jar,它没有任何附加内容。

在一处转储所有异常跟踪的最佳方法是使用Logging API。 前任。日志4j,slf4j。 它们提供了正确的框架,使用它您可以设置正确的文件名、它们的目的地、放置的内容,即 degug、错误、警告;此外,您可以限制文件大小并决定其存在期限。

于 2012-10-10T14:25:36.493 回答