在Java中可选地打印堆栈跟踪

时间:2012-09-12 07:12:35

标签: java exception-handling

我正在创建一个java应用程序,其中可能会抛出异常。我在try-catch块中处理这些异常并打印适当的消息,以便业务用户在发生故障时不必看到难看的堆栈跟踪。

但是现在当我调试时,我想以这样的方式调用JAR文件,它将为我打印堆栈跟踪,以便我可以知道问题究竟在哪里。

有人可以告诉我如何实现这一目标吗?

3 个答案:

答案 0 :(得分:13)

为什么不使用记录级别。?

DEBUG 表示您的技术错误 信息错误,以及用户了解的商家代码。

答案 1 :(得分:1)

这些东西通常用记录器和不同的日志级别来处理。

您通常有3个日志级别,常规日志,警告和错误。 输出时,您决定消息的级别

当您启动应用程序时,您会告诉您的loggger它应显示的级别。 对于你的用户来说,这将是错误的,只有最糟糕的东西应该是可见的,你自己输出一切

答案 2 :(得分:-3)

在两个不同的位置创建两个具有相同包/名称的类

public class PrintStackTraceUtil
 {
 public static void printStackTrace(Throwable err)
     {
     //ignore
     }
 }

public class PrintStackTraceUtil
 {
 public static void printStackTrace(Throwable err)
     {
     err.printStackTrace();
     }
 }

编译java程序时,只在源路径中放置其中一个路径