Java 中 printStackTrace() 方法和 getMessage() 方法有什么区别?


有两种方法可以查找异常的详细信息,一种是 printStackTrace() 方法,另一种是 getMessage() 方法。

printStackTrace() 方法

  • 这是 java.lang.Throwable 类中定义的方法,并继承到 java.lang.Error 类和 java.lang.Exception 类中。

  • 此方法将显示异常的名称、消息的类型和发生异常的行号。

示例

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

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

输出

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 类中。

  • 此方法只会显示异常消息。

示例

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

输出

/ by zero 

更新于: 2023-11-17

4 千+ 浏览量

启动您的 职业生涯

完成课程即可获得认证

开始吧
广告