java程序,如何打印详细报错堆栈信息

发布时间 2023-09-27 16:58:47作者: JackGIS
try {
     System.out.println(1/0);
} catch (final Exception e) {
    log.error("ERROR", "Error found: ", e);
    log.error("ERROR", "Error found: " + e.getMessage());
    log.error("ERROR", "Error found: " + e);
}

解析:

对于第一个log语句,可以看到堆栈信息被打印了出来。
对于第二个log语句,只是打印出了异常的具体信息,既没有异常类名,也没有堆栈信息。
对于第三个log语句,打印出了异常的类名和具体信息,但是没有打印出来堆栈信息。

 

因此推荐写法:

try
{
  代码过程......
} 
catch (Exception e) 
{
     log.error(e.getMessage(), e);
 }