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:
Java
import java.io.*;
class GFG {
public static void main(String[] args)
throws Exception
{
try {
testException1();
}
catch (Throwable e) {
Throwable[] suppExe
= e.getSuppressed();
for ( int i = 0 ; i < suppExe.length; i++) {
System.out.println("Suppressed Exceptions:");
System.out.println(suppExe[i]);
}
}
}
public static void testException1()
throws Exception
{
Exception
suppressed
= new ArrayIndexOutOfBoundsException();
final IOException ioe = new IOException();
ioe.addSuppressed(suppressed);
throw ioe;
}
}
|
Output:
Suppressed Exceptions:
java.lang.ArrayIndexOutOfBoundsException
Example 2:
Java
import java.io.*;
class GFG {
public static void main(String[] args)
throws Exception
{
try {
addPositiveNumbers( 2 , - 1 );
}
catch (Throwable e) {
Throwable[] suppExe
= e.getSuppressed();
System.out.println("Suppressed Exception Array"
+ " length = "
+ suppExe.length);
}
}
public static void addPositiveNumbers( int a, int b)
throws 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
Share your thoughts in the comments
Please Login to comment...