我使用的时候,抛出了空指针异常,本来是想将异常信息显示在errorInfo里,却发现没有拿到错误信息。

原因:我用的是getMessage()。

 用e.getMessage() 时,返回的是null。
用e.toString()时,才返回错误信息:空指针异常。

Exception e中e的getMessage()和toString()方法的区别:

http://blog.sina.com.cn/s/blog_9e2578150102vkyk.html

 

示例代码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()只是获取了异常的详细消息字符串

2017.4.7 e.toString() 与 e.getMessage()的区别的更多相关文章

  1. Exception 的 toString() 方法和 getMessage() 方法的区别

    Exception 的 toString() 方法和 getMessage() 方法的区别: 在开发的过程中打印错误日志时尽量使用e.toString() 方法, 因为当错误为空指针时 e.getMe ...

  2. Java中printStackTrace()、toString()、getMessage()的区别

    一.三者之间的关系图: 二.演示 1.printStackTrace()演示: public class Test {     public int div(int a, int b)     {   ...

  3. toString()和toLocaleString()有什么区别

    偶然之间用到这两个方法 然后在数字转换成字符串的时候,并没有感觉这两个方法有什么区别,如下: 1 2 3 4 5 6 7 8 var e=123     e.toString() "123& ...

  4. js中toString和valueOf方法的区别

    toString 方法 返回对象的字符串表示形式. 语法:objectname.toString([radix]) objectname 必需.要为其搜索字符串表示形式的对象. radix 可选.为将 ...

  5. (String)、toString、String.valueOf的区别

    String.valueOf()它可以将JAVA基本类型(int,double,boolean等)和对象(Object)转换成String型toString()是对象的方法,它可以将该对象转换成Str ...

  6. JavaScript引用类型之Array数组的toString()和valueof()方法的区别

    一.转换方法 1.在JavaScript中几乎所有对象都具有toLocaleString().toString和valueof()方法,因为,所有的对象都继承自Object,而前面所说的方法都是Obj ...

  7. String.valueOf(int i)和Integer.toString(int i)有什么区别?

    以下是2个人的回答,我是从百度上复制下来的,做个笔记,以后方便看 String.valueOf()它可以将JAVA基本类型(int,double,boolean等)和对象(Object)转换成Stri ...

  8. java.toString() ,(String),String.valueOf的区别

    在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结. 常用的方法有Object#toString(),(String)要转换的对象,S ...

  9. javascript中toString和valueOf方法的区别

    toString():将对象转为字符串 valueOf():获取对象的原始值, 1.针对基本类型的变量:如在string,number,boolean类型的变量上调用这两个方法时,直接返回原始值,即变 ...

随机推荐

  1. 《c程序设计语言》-3.1 判断语句多少影响时间

    #include <stdio.h> #define Num 1000000 /* int binsearch(int x,int v[],int n) { int low,high,mi ...

  2. 用ServletContext读取.properties文件

    在这里主要介绍ServletContext怎么从.properties文件中用键得到值的. ServletContext读取的.properties文件一般放在的位置有:1直接放在WebRoot下面. ...

  3. FileInputStream读取文件&FileOutputStream写入文件

    概念摘自:http://jingyan.baidu.com/article/5552ef473ab5f2518ffbc98e.html Java的流式输入输出建立在4个抽象类的基础上:InputStr ...

  4. python 实现经典算法

    import time start_time = time.clock() list_ = [9, 2, 7, 4, 5, 6, 3, 8, 1] """ # 堆排序(通 ...

  5. ASPOSE.WORD 另存为HTML

    var fi = new FileInfo(Environment.CurrentDirectory + "\\AE9302C0-AE48-4F4B-8489-6A428D9163C9_AL ...

  6. .net core 发布iis 错误

    点击iis功能,例如 点击log日志,提示xxx路径下的web.config错误 百度之后 安装NET Core Windows Server Hosting ->DotNetCore.2.0. ...

  7. 使用百度地图JavaScript实现驾车/公交/步行导航功能

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  8. Informix 启动 Fatal error in shared memory initialization解决方法

    https://blog.csdn.net/cy309173854/article/details/54929735

  9. 同步mysql数据到ElasticSearch的最佳实践

    Elasticsearch是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据.ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全 ...

  10. CF978A Remove Duplicates【数组操作/STL】

    [链接]:CF978A [分析]:逆向思考+标记数组去重 [代码]: #include<bits/stdc++.h> using namespace std; const int INF ...