最近学习《Java核心技术》终于进行到了第七章异常机制,这章给我的印象比前面的接口,继承和类好多了,今天分析一下堆栈轨迹元素。
堆栈轨迹(stack trace)是一个方法调用过程的列表,包含了程序执行过程中方法的调用的特定位置,当一个程序正常运行终止时候,这个列表会显示出来。
直接使用getStackTrace方法,会得到StackTraceElement对象一个数组,可以进行分析
StackTraceElement[] frames = t.getStackTrace();
for (StackTraceElement f : frames) {
System.out.println(f);
}
StackTraceElement类含有能够获得文件名和当前执行的代码行号的方法,同时,含有能够获得类名和方法名的方法。
下面上代码:打印了递归阶乘的函数的堆栈情况()
package com.exception;
import java.util.Scanner;
/**
* display a trace feature of a recursive method all
* 显示所有递归方法的跟踪特性。
* @author aaa
*
*/
public class stackTraceTest {
//factorial阶乘
public static in