Skip to content
Related Articles

Related Articles

Improve Article
3 Different ways to print Exception messages in Java
  • Difficulty Level : Easy
  • Last Updated : 07 Dec, 2018

In Java, there are three methods to print an exception information. All of them are present in Throwable class. Since Throwable is the base class for all exceptions and errors, so we can use these three methods on any exception object.

  1. java.lang.Throwable.printStackTrace() method : By using this method, we will get name(e.g. java.lang.ArithmeticException) and description(e.g. / by zero) of an exception separated by colon, and stack trace (where in the code, that exception has occurred) in the next line.
    Syntax:
    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);
            }
        }
    }

    Runtime Exception:

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

    Output:

    java.lang.ArithmeticException: / by zero
    
  2. toString() method : By using this method, we will only get name and description of an exception. Note that this method is overridden in Throwable class.




    // 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);
            }
        }
    }

    Output:



    java.lang.ArithmeticException: / by zero
    
  3. java.lang.Throwable.getMessage() method : By using this method, we will only get description of an exception.
    Syntax:
    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);
            }
        }
    }

    Output:

    / by zero
    

This article is contributed by Gaurav Miglani. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :