Java中的printStackTrace()方法和getMessage()方法之间有什么区别?

查找异常细节的方法有两种,一种是printStackTrace()方法,另一种是getMessage()方法。

printStackTrace()方法

  • 这是在java.lang.Throwable类中定义的方法,它被继承到java.lang.Error类和java.lang.Exception类中。

  • 此方法将显示异常的名称以及发生异常的消息的性质和行号。

示例

public class PrintStackTraceMethod {

   public static void main(String[] args) {

      try {

         int a[]= new int[5];

         a[5]=20;

      } catch (Exception e) {

         e.printStackTrace();

      }

   }

}

输出结果

java.lang.ArrayIndexOutOfBoundsException: 5

        at 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

以上是 Java中的printStackTrace()方法和getMessage()方法之间有什么区别? 的全部内容, 来源链接: utcz.com/z/338540.html

回到顶部