Throwable getSuppressed() method in Java with Examples

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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 StackTraceElements
            // using getStackTrace()
            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;
    }
}

chevron_right


Output:

Suppressed Exceptions:
java.lang.ArrayIndexOutOfBoundsException

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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 StackTraceElements
            // using getStackTrace()
            Throwable[] suppExe
                = e.getSuppressed();
  
            // print element of stktrace
            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
        // than add or throw Exception
        if (a < 0 || b < 0) {
  
            throw new Exception("Numbers are not Positive");
        }
  
        else {
  
            System.out.println(a + b);
        }
    }
}

chevron_right


Output:

Suppressed Exception Array length = 0

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



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Akanksha_Rai