每当引发异常时,Throwable类都会提供各种方法来提供与异常相关的信息,例如异常名称,异常描述和堆栈跟踪等。
我们将讨论Throwable类的三种方法,它们提供了与异常相关的信息,因此这些方法的名称为:
printStackTrace()方法
toString()方法
getMessage()方法
我们将看到这些方法的目的是什么以及它是如何工作的...
printStackTrace()
方法软件包java.lang.Throwable.printStackTrace()中提供了此方法。
此方法提供了与异常相关的信息,我们将看到此方法将提供哪些信息。
异常名称
异常说明
异常的堆栈跟踪
语法:
Name of the Exception : Description of the Exception Stack Trace of the Exception
示例
class PrintStackTrace { public static void main(String[] args) { Object obj = null; try { System.out.println(obj.toString()); } catch (Exception ex) { /*Display exception name : exception description Stack trace */ ex.printStackTrace(); } } }
输出结果
E:\Programs>javac PrintStackTrace.java E:\Programs>java PrintStackTrace java.lang.NullPointerException at PrintStackTrace.main(PrintStackTrace.java:8)
toString()
方法包java.lang.Throwable.toString()中提供了此方法。
此方法还提供了与异常相关的信息,我们将再次看到此方法将提供的信息。
异常名称
异常说明
语法:
Name of the Exception : Description of the Exception
示例
class ToStringMethod { public static void main(String[] args) { try { int i = 10 / 0; System.out.println(i); } catch (Exception ex) { //显示异常名称:异常描述 System.out.println(ex.toString()); } } }
输出结果
E:\Programs>javac ToStringMethod.java E:\Programs>java ToStringMethod java.lang.ArithmeticException: / by zero
getMessage()
方法包java.lang.Throwable.printStackTrace()中也提供此方法。
此方法提供了与异常相关的信息,我们将看到此方法将提供哪些信息。
异常说明
此方法不提供其他信息,例如异常名称和异常堆栈跟踪。
语法:
Description of the Exception
示例
class GetMessageMethod { public static void main(String[] args) { try { int i = 10 / 0; System.out.println(i); } catch (Exception ex) { //显示异常说明 System.out.println(ex.getMessage()); } } }
输出结果
E:\Programs>javac GetMessageMethod.java E:\Programs>java GetMessageMethod / by zero