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)