可以通过getStackTrace方法获取一个异常的栈轨迹, 其实也就是程序调用栈的记录
package com.cnsuning.src;
public class Main {
public Main() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
Main m = new Main();
try {
m.test();
} catch (Exception e) {
m.showStackTrace(e);
}
try {
m.test1();
} catch (Exception e) {
m.showStackTrace(e);
}
try {
m.test2();
} catch (Exception e) {
m.showStackTrace(e);
}
}
private void showStackTrace(Exception e){
StackTraceElement[] stackTrace = e.getStackTrace();
for(StackTraceElement trace: stackTrace){
System.out.println(trace.getMethodName());
}
}
public void test() throws Exception {
throw new Exception();
}
public void test1() throws Exception{
this.test();
}
public void test2() throws Exception{
this.test();
}
}
testmaintesttest1maintesttest2main