Open In App

Throwable getSuppressed() method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

The getSuppressed() method of Throwable class used to return an array containing all of the exceptions that were suppressed to deliver this exception typically this suppression done by the try-with-resources statement. In order to deliver Exception If no exceptions were suppressed or suppression is disabled, an empty array of suppressed exception is returned. Any changes to the returned array do not affect future calls to this method. 

Syntax:

public final Throwable[] getSuppressed()

Parameters: This method does not accepts anything as a parameter. 

Returns: This method returns return an array containing all of the exceptions that were suppressed. 

Below programs illustrate the getSuppressed() method of Throwable class

Example 1: 

Java




// Java program to demonstrate
// the getSuppressed() Method.
 
import java.io.*;
 
class GFG {
 
    // Main Method
    public static void main(String[] args)
        throws Exception
    {
 
        try {
 
            testException1();
        }
 
        catch (Throwable e) {
 
            // get Suppressed exception
            // using getSuppressed() method
            Throwable[] suppExe
                = e.getSuppressed();
 
            // print element of suppExe
            for (int i = 0; i < suppExe.length; i++) {
 
                System.out.println("Suppressed Exceptions:");
                System.out.println(suppExe[i]);
            }
        }
    }
 
    // method which throws Exception
    public static void testException1()
        throws Exception
    {
 
        // creating a suppressed Exception
        Exception
            suppressed
            = new ArrayIndexOutOfBoundsException();
 
        // creating a IOException object
        final IOException ioe = new IOException();
 
        // adding suppressed Exception
        ioe.addSuppressed(suppressed);
 
        // throwing IOException
        throw ioe;
    }
}


Output:

Suppressed Exceptions:
java.lang.ArrayIndexOutOfBoundsException

Example 2: 

Java




// Java program to demonstrate
// the getSuppressed() Method.
 
import java.io.*;
 
class GFG {
 
    // Main Method
    public static void main(String[] args)
        throws Exception
    {
        try {
 
            // add the numbers
            addPositiveNumbers(2, -1);
        }
 
        catch (Throwable e) {
 
            // get Suppressed exception
            // using getSuppressed() method
            Throwable[] suppExe
                = e.getSuppressed();
 
            // print element of suppExe
            System.out.println("Suppressed Exception Array"
                               + " length = "
                               + suppExe.length);
        }
    }
 
    // method which adds two positive number
    public static void addPositiveNumbers(int a, int b)
        throws Exception
    {
 
        // if Numbers are Positive
        // then add or throw Exception
        if (a < 0 || b < 0) {
 
            throw new Exception("Numbers are not Positive");
        }
 
        else {
 
            System.out.println(a + b);
        }
    }
}


Output:

Suppressed Exception Array length = 0

References: https://docs.oracle.com/javase/10/docs/api/java/lang/Throwable.html#getSuppressed()



Last Updated : 14 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads