异常有三种不同的类型,但它们都拥有一个公共的父类:java.lang.Throwable。只有Throwable类型的对象能够被JVM抛出。Throwable类有两个子类:Exception和Error。Error类是所有Java错误类的父类;Exception类是所有异常的父类,包括运行时异常和检查异常。
Throwable类的方法:
public String getMessage():返回关于已发生的异常的详细信息。这个信息在Throwable类的构造方法中被初始化。
public Throwable getCause():返回Throwable对象所描述的异常产生的原因。这个原因由Throwable类的构造方法或initCause()方法进行初始化;
public String toString():返回Throwable类的简短描述;
public void printStackTrace():把toString()方法的结果与调用栈跟踪信息一起打印在控制台错误输出流中(System.err是Java程序运行在Windows窗口上的命令提示符)。为发送调用栈跟踪信息到指定输出流,该方法进行了重载。
public StackTraceElement [] getStackTrace():返回一个包含调用栈跟踪信息每个元素的数组。索引号为0的元素表示调用栈的顶部,数组中的最后一个元素表示调用栈底部的方法。此方法允许我们应用程序以编程的方式遍历调用栈的每一行。
public Throwable fillInStackTrace():使用当前调用栈跟踪信息来填充Throwable对象的调用栈跟踪信息,并添加以往任何信息到调用栈跟踪信息里。