Java中所有Exception和Error的父类是Throwable,只有对象为Throwable实例或其子类实例时,才能被抛出(throw)
而Throwable又包含如下几个属性
backtrace : Object
cause : Throwable(另一个导致此 throwable 抛出的 throwable。此 cause 属性在 1.4 版本中首次出现。它也称为异常链
设施,
因为 cause 自身也会有 cause,依此类推,就形成了异常链,每个异常都是由另一个异常引起的。 )
detailMessage : String
serialVersionUID : long
stackTrace : StackTraceElement[]
public String toString() {
String s = getClass().getName();
String message = getLocalizedMessage();
return (message != null) ? (s + ": " + message) : s;
}
让我们来看一下Throwable的toString方法,也就是我们将Throwable打印出来时字符串是如何产生的。