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



Comments and Discussions!

Load comments ↻






Copyright © 2024 www.includehelp.com. All rights reserved.