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

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();会打出详细异常,异常名称,出错位置,便于调试用..
一般一个异常至少几十行
上一篇:osx下快捷键相应符号


下一篇:java – -XX的含义是什么:NewRatio和-XX:OldSize JVM标志?