简单看java异常栈

发布时间:2019-11-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了简单看java异常栈脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

(stack trace)异常栈轨迹是指:
throw Throwable 时, Throwable对象抛出过程(穿梭)所经历的多个方法调用层(方法调用栈)。越接近 throw 语句的方法先进入异常栈。

(Throwable Causal Chain)异常原因链:
在Throwable类中的cause属性,表示被当前异常包装的原始异常。(可以称为异常原因)
在打印异常栈轨迹时,会递归打印 原始异常的异常栈。

现在来分析一下 Throwable.PRintStackTrace() 方法。

Throwable.printStackTrace(PrintStreamOrWrITer s) 内部,我们可以看到:
在打印异常栈时,是

  1. 先打印 当前异常对象this的 异常栈。
  2. 然后再打印 异常原因链。(递归打印 原始异常的异常栈)
synchronized (s.lock()) {             // Print our stack trace // 1. 先打印 当前异常对象this的 异常栈。             s.println(this);             StackTraceElement[] trace = getOurStackTrace();             for (StackTraceElement traceElement : trace)                 s.println("tat " + traceElement);              // Print supPressed exceptions, if any             for (Throwable se : getSuppressed())                 se.printEnclosedStackTrace(s, trace, SUPPRESSED_CAPTION, "t", dejaVu);              // Print cause, if any //  2. 打印 异常原因链             Throwable ourCause = getCause();             if (ourCause != null)                 ourCause.printEnclosedStackTrace(s, trace, CAUSE_CAPTION, "", dejaVu);         }

脚本宝典总结

以上是脚本宝典为你收集整理的简单看java异常栈全部内容,希望文章能够帮你解决简单看java异常栈所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。