3种在Java中打印异常exception消息的不同方法

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)

3种在Java中打印异常exception消息的不同方法

在Java中,有三种方法可以打印异常信息。他们都在Throwable类中。由于Throwable是所有异常和错误的基类,所以我们可以在任何异常对象上使用这三种方法。

  1. java.lang.Throwable.printStackTrace()方法:通过使用此方法,我们将得到用冒号分隔的异常的名称(例如java.lang.ArithmeticException)和描述(例如/由零),以及堆栈跟踪代码,发生异常)在下一行。
    句法:

    public void printStackTrace()
    // Java program to demonstrate
    // printStackTrace method
    public class Test
    {
        public static void main(String[] args)
        {
            try
            {
                int a = 20/0;
            } catch (Exception e)
            {
                // printStackTrace method
                // prints line numbers + call stack
                e.printStackTrace();
    
                // Prints what exception has been thrown
                System.out.println(e);
            }
        }
    }
    

    运行时异常:

    java.lang.ArithmeticException: / by zero
    	at Test.main(Test.java:9)

    输出:

    java.lang.ArithmeticException: / by zero
  2. toString()方法: 通过使用这种方法,我们只会得到一个异常的名称和描述。请注意,此方法在Throwable类中被覆盖。
    // Java program to demonstrate
    // toString  method
    public class Test
    {
        public static void main(String[] args)
        {
            try
            {
                int a = 20/0;
            } catch (Exception e)
            {
                // toString method
                System.out.println(e.toString());
    
                // OR
                // System.out.println(e);
            }
        }
    }
    

    输出:

    java.lang.ArithmeticException: / by zero
  3. java.lang.Throwable.getMessage()方法:通过使用这种方法,我们只会得到一个异常的描述。
    句法:

    public String getMessage()
    // Java program to demonstrate
    // getMessage method
    public class Test
    {
        public static void main(String[] args)
        {
            try
            {
                int a = 20/0;
            } catch (Exception e)
            {
                // getMessage method
                // Prints only the message of exception
                // and not the name of exception
                System.out.println(e.getMessage());
    
                // Prints what exception has been thrown
                // System.out.println(e);
            }
        }
    }
    

    输出:

    / by zero
  •   本文标题:3种在Java中打印异常exception消息的不同方法 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/4191.html

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读