【问题标题】:Where are unhandled exceptions in command line java application printed out by default? To stdout or stderr?默认情况下,命令行 java 应用程序中未处理的异常在哪里打印?到标准输出或标准错误?
【发布时间】:2012-08-12 17:43:49
【问题描述】:

标题包含整个问题。我也将不胜感激包含答案的文档链接。

【问题讨论】:

  • 我认为这两个地方,假设你的服务器是 websphere。
  • 取决于您使用 JVM 的方式。对于命令行,它是标准错误。对于 Tomcat,它将是错误日志。对于其他环境,如应用程序服务器,它也可能是某种日志文件。您需要提供更多细节以获得更好的答案。
  • 谢谢,澄清了问题。

标签: java exception-handling


【解决方案1】:

在 Java 中,未处理的异常会渗透到引发它们的线程的顶部。 Java 允许您安装thread-level uncaught exception handler。据我所知,没有指定默认异常处理程序时的行为不是由 Java 规范定义的。 Sun 的 JDK 观察到的默认行为是将异常消息及其堆栈跟踪打印到 stderr。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多