• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Java异常跟踪栈定义与用法示例

java 搞代码 4年前 (2022-01-05) 16次浏览 已收录 0个评论

这篇文章主要介绍了Java异常跟踪栈定义与用法,结合具体实例形式分析了异常处理栈的概念、原理及相关使用技巧,需要的朋友可以参考下

本文实例讲述了Java异常跟踪栈定义与用法。分享给大家供大家参考,具体如下:

一、异常跟踪栈简介

异常对象的printStackTrace方法用于打印异常的跟踪栈信息,根据printStackTrace方法的输出结果,我们可以找到异常的源头,并跟踪到异常一路触发的过程。

二、main方法中异常跟踪栈的应用

1 代码示例

 class SelfException extends RuntimeException { SelfException(){} SelfException(String msg) { super(msg); } } public class PrintStackTraceTest { public static void main(String[] args) { firstMethod(); } public static void firstMethod() { secondMethod(); } public static void secondMethod() { thirdMethod(); } public static void thirdMethod() { throw new SelfException("自定义异常信息"); } } 

2 运行结果

Exception in thread “main” SelfException: 自定义异常信息
 at PrintStackTraceTest.thirdMethod(PrintStackTraceTest.java:26)
 at PrintStackTraceTest.secondMethod(PrintStackTraceTest.java:22)
 at PrintStackTraceTest.firstMethod(PrintStackTraceTest.java:18)
 at PrintStackTraceTest.main(PrintStackTraceTest.java:14)

3 结果分析

只要异常没有被完全捕获,异常从发生异常的方法逐渐向外传播,首先传给该方法的调用者,该方法调用者再次创给其调用者……直至最后传到 main方法,如果main方法依然没有处理该异常,JVM会中止该程序,并打印异常的跟踪栈信息。

三、多线程中异常跟踪栈的应用

1 代码示例

 public class ThreadExceptionTest implements Runnable { public void run() { firstMethod(); } public void firstMethod() { secondMethod(); } public void secondMethod() { int a = 5; int b = 0; int c = a / b; } public static void main(String[] args) { new Thread(new ThreadExceptionTest()).start(); } } 

2 运行结果

Exception in thread “Thread-0” java.lang.ArithmeticException: / by zero
 at ThreadExceptionTest.secondMethod(ThreadExceptionTest.java:16)
 at ThreadExceptionTest.firstMethod(ThreadExceptionTest.java:10)
 at ThreadExceptionTest.run(ThreadExceptionTest.java:6)
 at java.lang.Thread.run(Thread.java:619)

3 结果分析

程序在Thread的run方法中出现了ArithmeticException异常,这个异常的源头是ThreadExc来源gao($daima.com搞@代@#码(网eption的SecondMethod方法,位于文件16行。这个异常传播到Thread类的run方法就会结束。

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

以上就是Java异常跟踪栈定义与用法示例的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Java异常跟踪栈定义与用法示例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址