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)