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

javaobject oriented programmingprogramming更新于 2024/7/27 1:12:00

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

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

Throwable 类的常用异常方法

  • public String getMessage():返回有关异常的消息字符串。
  • public Throwable getCause():返回异常的原因。如果原因未知或不存在,它将返回 null。
  • public String toString(): 返回异常的简短描述。
  • public void printStackTrace(PrintStream s):在错误输出流 (System.err) 上打印异常的简短描述(使用 toString())+ 此异常的堆栈跟踪。

示例

class ArithmaticTest {
   public void division(int num1, int num2) {
      try {
         //java.lang.ArithmeticException here.
         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)

相关文章