Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความแตกต่างระหว่างเมธอด printStackTrace() และ getMessage() ใน Java

มีสองวิธีในการดูรายละเอียดของข้อยกเว้น หนึ่งคือเมธอด 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