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

相关文章