Java 中 printStackTrace() 方法和 getMessage() 方法有什么区别?
javaobject oriented programmingprogramming
有两种方法可以找到异常的详细信息,一种是 printStackTrace() 方法,另一种是 getMessage() 方法。
printStackTrace() 方法
- 此方法在 java.lang.Throwable 类中定义,并继承到 java.lang.Error 类和 java.lang.Exception 类中。
- 此方法将显示异常的名称、消息的性质以及发生异常的行号。
示例
public class PrintStackTraceMethod { public static void main(String[] args) { 尝试 { int a[]= new int[5]; a[5]=20; } 捕获 (Exception e) { e.printStackTrace(); } } }
输出
java.lang.ArrayIndexOutOfBoundsException: 5 在 PrintStackTraceMethod.main(PrintStackTraceMethod.java:5)
getMessage() 方法
- 此方法在 java.lang.Throwable 类中定义,并继承自 java.lang.Error 和 java.lang.Exception 类。
- 此方法将显示唯一的异常消息。
示例
public class GetMessageMethod { public static void main(String[] args) { try { int x=1/0; } catch (Exception e) { System.out.println(e.getMessage()); } } }
输出
/ by zero