多层的异常其实是嵌套的,以栈的形式存储,打印出的异常方法名顺序也是从最底层开始,最后打印最上层的方法名称。
try{
}catch (Exception e) {
for(StackTraceElement ste:e.getStackTrace()){System.out.println(ste.getMethodName());
}
}
当然StackTraceElement包含很多附加的信息,如:
ste.getClassName();//类名称
ste.getFileName();//文件名称
ste.getLineNumber();//行号等