Home »
Java programming language
Java Throwable initCause() Method with Example
Throwable Class initCause() method: Here, we are going to learn about the initCause() method of Throwable Class with its syntax and example.
Submitted by Preeti Jain, on January 06, 2020
Throwable Class initCause() method
- initCause() Method is available in java.lang package.
- initCause() Method is used to instantiate the cause of this throwable to the given value and this method is invoked within the constructor immediately after that we throw a throwable object.
- initCause() Method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
-
initCause() Method may throw an exception at the time of initializing cause.
- IllegalArgumentException – This exception may throw when the given argument is this object.
- IllegalStateException – This exception may throw when the given argument was created with throwable or when this method called already on this throwable.
Syntax:
public Throwable initCause(Throwable caus);
Parameter(s):
- Throwable caus – represents the cause it retrieve by using getCause() method and if it returns null then cause is non-existent or not known.
Return value:
The return type of the method is Throwable, it returns reference to this "Throwable" object.
Example:
// Java program to demonstrate the example
// of Throwable initCause(Throwable caus)
// method of Throwable
public class InitCause {
public static void main(String args[]) throws Exception {
try {
// calling div() method
div(100, 0);
} catch (ArithmeticException ex) {
// Display the exception cause why it is
//thrown
System.out.println("Exception Cause:" + ex.getCause());
}
}
// This method divide two numbers and will
// throw an exception
public static void div(int d1, int d2) throws Exception {
try {
int res = d1 / d2;
} catch (ArithmeticException ex) {
// creating an exception
ArithmeticException ae = new ArithmeticException();
// instantiate exception cause by using
//initCause() method
ae.initCause(ex);
// throw an exception with its cause
throw (ae);
}
}
}
Output
Exception Cause:java.lang.ArithmeticException: / by zero