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: Index 5 out of bounds for length 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP