在按照Running JAR file on Windows的建议后,您好了,每当我在Windows中双击它(它是一个JFrame应用程序)时,我就设法执行了我的.jar
应用程序。
但是,当发生某些异常时,我会e.printstackTrace();
并向UI生成自定义错误消息。当我从命令提示符启动'.jar'文件时,标准错误流是控制台。我的问题是,当我通过双击运行.jar时,异常跟踪在哪里?
这是一个“玩具”应用程序,所以我想避免使用日志记录机制 - 我只需要一个地方来转储所有异常跟踪以供以后调试。
谢谢。
答案 0 :(得分:1)
我的问题是,当我通过双击运行.jar时,异常跟踪在哪里?
无处。它没有任何地方到去,基本上 - 没有附加控制台。您可能想要找到用户的主目录并将日志文件放在那里,或类似的东西。
(而不是使用e.printStackTrace()
,我建议使用正确的日志框架,无论是log4j,java.util.logging还是其他。你说你不想要一个日志记录机制,但是“一个地方转储所有异常跟踪以便以后调试“听起来像是记录给我......”
答案 1 :(得分:0)
您的异常stackTrace不在哪里。如果你直接双击jar,就没有任何附件了。
在一个地方转储所有异常跟踪的最佳方法是使用 Logging API。 的实施例。 Log4j,slf4j。 它们提供了适当的框架,使用它可以设置正确的文件名,目的地,放置的内容,即degug,错误,警告;此外,您可以限制文件大小并确定其存在期。