Java中Throwable类及其方法的重要性是什么?

 Throwable的 类是在Java中所有错误和异常的超类。此类的实例的对象由Java虚拟机抛出,或者可以由throw语句抛出 。类似地,此类或其子类之一可以是catch子句中的参数类型。

两个子类Error Exception的 实例用于指示发生了异常情况,这些实例是在异常情况的上下文中创建的,以包含相关信息。

Throwable类的常用异常方法

  • public String getMessage()返回有关异常的消息字符串。

  • public Throwable getCause()返回异常的原因。如果原因未知或不存在,它将返回null。

  • public String toString(): 返回对该异常的简短描述。

  • public void printStackTrace(PrintStream s):toString()在错误输出流(System.err)上打印异常的简短描述(使用)和对此异常的堆栈跟踪。

示例

class ArithmaticTest {
   public void division(int num1, int num2) {
      try {
         //java.lang.ArithmeticException在这里。
         System.out.println(num1/num2);
         //在这里捕获ArithmeticException。
      } catch(ArithmeticException e) {
         //打印有关异常的消息字符串。
         System.out.println("getMessage(): " + e.getMessage());
         //打印异常原因。
         System.out.println("getCause(): " + e.getCause());
         //打印类名称+“:” +消息。
         System.out.println("toString(): " + e.toString());
         System.out.println("printStackTrace(): ");
         //打印该异常的简短说明以及此异常的堆栈跟踪。
         e.printStackTrace();
      }
   }
}
public class Test {
   public static void main(String args[]) {
      //创建ArithmaticTest对象
      ArithmaticTest test = new ArithmaticTest();
      //方法调用
      test.division(20, 0);
   }
}

输出结果

getMessage(): / by zero
getCause(): null
toString(): java.lang.ArithmeticException: / by zero
printStackTrace():
java.lang.ArithmeticException: / by zero
at ArithmaticTest.division(Test.java:5)
at Test.main(Test.java:27)