Java Throwable class methods

1. getMessage(): returns the message string about the exception.

Syntax: public String getMessage() 

 

2. getCause(): returns the cause of the exception. It will return null if the cause is unknown or non-existent.

Syntax: public Throwable getCause() 

 

3. toString(): returns a short description of the exception.

Description of the exception = class name + “: “ + message.

Syntax: public String toString() 

 

4. printStackTrace(): prints the short description of the exception(using toString()) + a stack trace for this exception on the error output stream(System.err).

Syntax:  public void printStackTrace(PrintStream s) 

 

Java Throwable class Example:

 

class ArithmaticTest{
	
	public void division(int num1, int num2){
		try{
			//java.lang.ArithmeticException here.
			System.out.println(num1/num2);
                //catch ArithmeticException here.
		}catch(ArithmeticException e){
		  //print the message string about the exception.
		  System.out.println("getMessage(): " + e.getMessage());
		  //print the cause of the exception.
		  System.out.println("getCause(): " + e.getCause());
		  //print class name + “: “ + message.
		  System.out.println("toString(): " + e.toString());
		  System.out.println("printStackTrace(): ");
		  //prints the short description of the exception 
                  //+ a stack trace for this exception.
		  e.printStackTrace();
		}
	}
}

public class ExceptionHandlingExample {
	public static void main(String args[]){
		//creating ArithmaticTest object
		ArithmaticTest obj =  new ArithmaticTest();
		
		//method call
		obj.division(20, 0);
	}
}

Output

getMessage(): / by zero
getCause(): null
toString(): java.lang.ArithmeticException: / by zero
printStackTrace():
java.lang.ArithmeticException: / by zero
at com.w3schools.business.ArithmaticTest.division
(ExceptionHandlingExample.java:17)
at com.w3schools.business.ExceptionHandlingExample.main
(ExceptionHandlingExample.java:38)