Java 异常Exception e中e的getMessage()和toString()以及 e.printStackTrace();方法的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()只是获取了异常的详细消息字符串。
示例代码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();方法的区别的主要内容,如果未能解决你的问题,请参考以下文章
(Java)问题 Catch(IOException e) 和 catch(Exception e
Java 异常的Exception e中的egetMessage()和toString()方法的区别
java编程用catch(Exception e)捕获异常,在catch中用instanceof对不同的异常分别处理
catch (Exception e) catch (Throwable e) catch (IOException e) 再抛出异常,catch里的分别是啥意思