Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

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


Có hai cách để tìm hiểu chi tiết của ngoại lệ (exception): phương thức printStackTrace() và 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à được kế thừa bởi java.lang.Error và java.lang.Exception.
  • Phương thức này sẽ hiển thị tên của ngoại lệ, bản chất của thông điệp và số dòng nơi 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();
        }
    }
}

Kết quả

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

Phương thức getMessage()

  • Đây là phương thức được định nghĩa trong lớp java.lang.Throwable và được kế thừa bởi java.lang.Error và java.lang.Exception.
  • Phương thức này chỉ hiển thị thông điệp của ngoại lệ.

Ví dụ

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

Kết quả

/ by zero