Las excepciones enstringdas permiten relacionar una excepción con otra excepción, es decir, una excepción describe la causa de otra excepción. Por ejemplo, considere una situación en la que un método genera una ArithmeticException debido a un intento de dividir por cero, pero la causa real de la excepción fue un error de E/S que hizo que el divisor fuera cero. El método arrojará solo ArithmeticException a la persona que llama. Entonces, la persona que llama no llegaría a conocer la causa real de la excepción. La excepción enstringda se utiliza en este tipo de situaciones.
Constructores de la clase Throwable que admiten excepciones enstringdas en Java:
- Throwable (causa arrojable): – Donde la causa es la excepción que causa la excepción actual.
- Throwable (String msg, Throwable cause): – Donde msg es el mensaje de excepción y causa es la excepción que causa la excepción actual.
Métodos de la clase Throwable que admiten excepciones enstringdas en Java:
- método getCause() :- Este método devuelve la causa real de una excepción.
- método initCause (causa arrojable): – Este método establece la causa de la excepción de llamada.
Ejemplo de uso de excepción enstringda:
// Java program to demonstrate working of chained exceptions public class ExceptionHandling { public static void main(String[] args) { try { // Creating an exception NumberFormatException ex = new NumberFormatException("Exception"); // Setting a cause of the exception ex.initCause(new NullPointerException( "This is actual cause of the exception")); // Throwing an exception with cause. throw ex; } catch(NumberFormatException ex) { // displaying the exception System.out.println(ex); // Getting the actual cause of the exception System.out.println(ex.getCause()); } } }
Producción:
java.lang.NumberFormatException: Exception java.lang.NullPointerException: This is actual cause of the exception
Este artículo es una contribución de Pratik Agarwal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA