当程序由于未被捕获的异常而失败时,系统会自动打印该异常的堆栈轨迹,也就是异常对象的printStackTrace()方法的输出结果。
printStackTrace()方法,输出的第一行包含此对象的 toString()
方法的结果。剩余行表示以前由方法 fillInStackTrace()
记录的数据。
toString()方法是该异常的字符串表示法,fillInStackTrace()
方法输出的就是细节消息。当然程序未被捕获的异常出现时,会自动调用
异常对象的printStackTrace(),我们也可以在捕获异常之后,显示的调用异常的printStackTrace()。
堆栈轨迹的用途是与源文件结合起来进行分析的,它通常包含抛出该异常的确切文件和行数,以及堆栈中所有其他方法调用所在的文件和行数。
关于失败的冗长的描述信息通常是不必要的,这些信息可以通过阅读源代码而获得。