日期:2014-05-20  浏览次数:20898 次

为什么报异常要打印的是堆栈信息
希望能得到大家最全的答案

------解决方案--------------------
堆栈跟踪(stack trace)是一个方法调用过程的列表,发生异常的时候e.printStackTrace();是把产生该异常的一系列方法的调用过程打印出来(最后调用的方法最先打出来),按照方法的调用过程查找异常出现的原因会很方便。
------解决方案--------------------
举个小例子,main()方法中按顺序调用了a()方法和b()方法,其中b()方法中又调用了c()方法,c()方法中产生了一个异常,打印后的结果类似
c():产生异常的行号
b():c方法调用的行号
main():b方法调用的行号
有了这个线索查找异常产生的原因是不是很轻松呢

------解决方案--------------------
先顶一哈
------解决方案--------------------
这是系统的默认行为,方便你跟踪异常抛出的位置。你完全可以不必打印堆栈信息,而打印其他信息。
------解决方案--------------------
2楼正解! 为了方便跟踪最先抛出异常的地方,又可以看到该程序的异常从哪些方法中层层抛出的