java获取异常行数,如何增加Java堆栈跟踪转储的显示行数?

  • Post author:
  • Post category:java


让我们从Throwable.printStackTrace()的文档中获取堆栈跟踪:

HighLevelException: MidLevelException: LowLevelException

at Junk.a(Junk.java:13)

at Junk.main(Junk.java:4)

Caused by: MidLevelException: LowLevelException

at Junk.c(Junk.java:23)

at Junk.b(Junk.java:17)

at Junk.a(Junk.java:11)

… 1 more

Caused by: LowLevelException

at Junk.e(Junk.java:30)

at Junk.d(Junk.java:27)

at Junk.c(Junk.java:21)

… 3 more

原因从最底部的嵌套原因(“根本原因”)显示到打印堆栈跟踪所属的原因。

在这种情况下,根本原因是LowLevelException,哪个原因MidLevelException,哪个原因HighLevelException。

要获得完整的堆栈跟踪,您必须查看封闭异常(及其封闭异常)的框架:

看一下省略了多少帧:“ … X更多”

在封闭的异常中查找省略的帧

看一下省略了多少帧:“ … Y更多”

将前X-Y帧追加到堆栈跟踪

如果Y> 0,则将其作为省略帧的数量重复步骤2

因此,如果我们想获得完整的堆栈跟踪,LowLevelException我们将执行以下操作: