e.getMessage() e.printStackTrace() 和e.printStackTrace() 小结

Posted unknows

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了e.getMessage() e.printStackTrace() 和e.printStackTrace() 小结相关的知识,希望对你有一定的参考价值。

1 e.getMessage() ;    只会获得异常的名称。比如说NullPoint 空指针,就告诉你说是空指针

2.e.toString():  获得异常种类和错误信息

3.e.printStackTrace();    在控制台打印打印出详细的异常信息,异常名称。便于调试

3 如果异常是用无参构造器构造后续又没有设置message的话一般就是null,如果用带String参数的构造器构造的话,返回的就是那个参数。

下面是栗子1:

    public static String str =null;
    public static void main( String[] args )
    {
        try{
            if(str.equals("name")){}
        }catch (Exception e){
            System.out.println("e.toString()打印结果: "+ e.toString());
            System.out.println("e.getMessage()打印结果: "+ e.getMessage());
            System.out.println("============分割线=============");
            e.printStackTrace();
        }
    }

执行结果:

e.toString()打印结果: java.lang.NullPointerException
e.getMessage()打印结果: null
============分割线=============

java.lang.NullPointerException
at test.App.main(App.java:13)

下面是栗子2:

   public static int m = 0;
    public static void main( String[] args )
    {
        try{
            m = 899/0;
        }catch (Exception e){
            System.out.println("e.toString()打印结果: "+ e.toString());
            System.out.println("e.getMessage()打印结果: "+ e.getMessage());
            System.out.println("============分割线=============");
            e.printStackTrace();
        }
    }

执行结果:
e.toString()打印结果: java.lang.ArithmeticException: / by zero
e.getMessage()打印结果: / by zero
============分割线=============
java.lang.ArithmeticException: / by zero
at test.App2.main(App2.java:13)

  













以上是关于e.getMessage() e.printStackTrace() 和e.printStackTrace() 小结的主要内容,如果未能解决你的问题,请参考以下文章

log.error("异常:", e);与log.error(e.getMessage());区别

在error日志打印异常

Spring 实现部分事务回滚

对象中的方法 clone() 不可见?

logger.error完整打印错误堆栈信息

如何跟踪异常的传播路径?