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)