猿问

这三个有什么区别,大神们,说的详细点,谢谢啦

System.out.println(e.getMessage());
   e.printStackTrace();
   System.out.println(e)


相信光变成光
浏览 1535回答 5
5回答

ziom

System.out.println(e.getMessage()); // 打印具体的异常名称 e.printStackTrace();                // 打印异常的栈追踪信息(包含异常名称) System.out.println(e)               // 等同于打印e.toString();

qq___571

区别就是打印异常信息的详细程度不同而已

噼喱啪啦

你的代码中的e,应该是某个类的引用或是说 事例对象,假设这个类是ESystem.out.println(e.getMessage());代表输出 e.getMessage(),也就是输出引用e的一个函数,这样就是输出函数的地址 e.printStackTrace();这个代表调用类E中的printStackTrace()这个函数System.out.println(e)这个代表打印引用e,也就是打印这个引用的地址,java中称为哈希值

慕粉3997267

System.out.println(e.getMessage()); // 打印具体的异常名称 e.printStackTrace();                // 打印异常的栈追踪信息(包含异常名称) System.out.println(e)               // 等同于打印e.toString();

慕粉3997267

区别就是打印异常信息的详细程度不同而已
随时随地看视频慕课网APP

相关分类

Java
我要回答