码迷,mamicode.com
首页 > 编程语言 > 详细

Java 异常Exception e中e的getMessage()和toString()以及 e.printStackTrace();方法的区别

时间:2016-09-23 18:17:42      阅读:775      评论:0      收藏:0      [点我收藏+]

标签:

Exception e中e的getMessage()和toString()方法的区别:
示例代码1:
public class TestInfo {
    private static String str =null;
    public static void main(String[] args) {
        System.out.println("test exception");
        try {
            if(str.equals("name")){
                System.out.println("test exception");
            }
        } catch (Exception e) {
            System.out.println(e.toString());
            System.out.println(e.getMessage());
        }
    }
}

输出结果:
java.lang.NullPointerException
null

示例代码2:
public class TestInfo {
    private static int m = 0;
    public static void main(String[] args) {
        System.out.println("test exception");
        try {
            m = 899/0;
        } catch (Exception e) {
            System.out.println(e.toString());
            System.out.println(e.getMessage());
        }
    }
}
输出结果:
java.lang.ArithmeticException: / by zero
/ by zero


总结:
由此可以看出,e.toString()获取的信息包括异常类型和异常详细消息,而e.getMessage()只是获取了异常的详细消息字符串。
 
 
e的getMessage()和printStackTrace()方法的区别:
e.getMessage(); 只会获得具体的异常名称. 比如说NullPoint 空指针,就告诉你说是空指针... 

e.printStackTrace();会打出详细异常,异常名称,出错位置,便于调试用.. 
一般一个异常至少几十行

Java 异常Exception e中e的getMessage()和toString()以及 e.printStackTrace();方法的区别

标签:

原文地址:http://www.cnblogs.com/yangyi9343/p/5900771.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!