一 .异常跟踪栈简介 异常对象的printStackTrace方法用于打印异常的跟踪栈信息,根据printStackTrace方法的输出结果,我们可以找到异常的源头,并跟踪到异常一路触发的过程。 二. main方法中异常跟踪栈的应用 1. 代码示例 Java代码
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 .代码示例 Java代码
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异常,这个异常的源头是ThreadException的SecondMethod方法,位于文件16行。这个异常传播到Thread类的run方法就会结束。
|
|