Método arrojable getSuppressed() en Java con ejemplos

El método getSuppressed() de la clase Throwable solía devolver una array que contenía todas las excepciones que se suprimieron para entregar esta excepción, por lo general, esta supresión se realiza mediante la instrucción try-with-resources. Para entregar Excepción Si no se suprimieron excepciones o la supresión está deshabilitada, se devuelve una array vacía de excepciones suprimidas. Cualquier cambio en la array devuelta no afecta las futuras llamadas a este método.

Sintaxis:

public final Throwable[] getSuppressed()

Parámetros: Este método no acepta nada como parámetro.

Devoluciones: este método devuelve una array que contiene todas las excepciones que se suprimieron.

Los siguientes programas ilustran el método getSuppressed() de la clase Throwable :

Ejemplo 1:

// 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;
    }
}
Producción:

Suppressed Exceptions:
java.lang.ArrayIndexOutOfBoundsException

Ejemplo 2:

// 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);
        }
    }
}
Producción:

Suppressed Exception Array length = 0

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

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *