Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa phương thức printStackTrace () và phương thức getMessage () trong Java là gì?


Có hai cách để tìm chi tiết của ngoại lệ, một là phương thức printStackTrace () và phương thức khác là phương thức getMessage ().

phương thức printStackTrace ()

  • Đây là phương thức được định nghĩa trong lớp java.lang.Throwable và nó được kế thừa thành lớp java.lang.Error và lớp java.lang.Exception.
  • Phương thức này sẽ hiển thị tên của ngoại lệ và bản chất của thông báo và số dòng nơi một ngoại lệ đã xảy ra.

Ví dụ

public class PrintStackTraceMethod {
   public static void main(String[] args) {
      try {
         int a[]= new int[5];
         a[5]=20;
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

Đầu ra

java.lang.ArrayIndexOutOfBoundsException: 5
        at PrintStackTraceMethod.main(PrintStackTraceMethod.java:5)

phương thức getMessage ()

  • Đây là một phương thức được định nghĩa trong lớp java.lang.Throwable và nó được kế thừa thành các lớp java.lang.Error và java.lang.Exception.
  • Phương thức này sẽ hiển thị thông báo ngoại lệ duy nhất.

Ví dụ

public class GetMessageMethod {
   public static void main(String[] args) {
      try {
         int x=1/0;
      } catch (Exception e) {
         System.out.println(e.getMessage());
      }
   }
}

Đầu ra

/ by zero