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