Método arrojable getCause() en Java con ejemplos

El método getCause() de la clase Throwable es el método incorporado que se usa para devolver la causa de este throwable o nulo si no se puede determinar la causa de la excepción. Este método ayuda a obtener la causa proporcionada por uno de los constructores o que se estableció después de la creación con el método initCause (Throwable). Todos los métodos PrintStackTrace de la clase Throwable invocan el método getCause() para determinar la causa de Throwable o Exception. En términos simples, se puede decir que este método devuelve la causa por la cual ocurrió la excepción.

Sintaxis:

public Throwable getCause()

Valor devuelto: este método devuelve la causa de este Throwable o nulo si no se puede determinar la causa.

Los siguientes programas demuestran el método getCause() de Throwable Class:

Ejemplo 1:

// Java program to demonstrate
// the ensureCapacity() Method.
  
import java.io.*;
  
class GFG {
  
    // Main Method
    public static void main(String[] args)
        throws Exception
    {
  
        try {
  
            // divide the numbers
            divide(2, 0);
        }
  
        catch (ArithmeticException e) {
  
            System.out.println("Cause of Exception: "
                               + e.getCause());
        }
    }
  
    // method which divides two number
    public static void divide(int a, int b)
        throws Exception
    {
  
        try {
  
            // divide two numbers
            int i = a / b;
        }
  
        catch (ArithmeticException e) {
  
            // initializing new Exception with cause
            ArithmeticException exe = new ArithmeticException();
  
            exe.initCause(e);
  
            throw(exe);
        }
    }
}
Producción:

Cause of Exception: java.lang.ArithmeticException: / by zero

Ejemplo 2:

// Java program to demonstrate
// the ensureCapacity() Method.
  
import java.io.*;
  
class GFG {
  
    // Main Method
    public static void main(String[] args)
        throws Exception
    {
  
        try {
  
            // divide the numbers
            divide(2, 0);
        }
  
        catch (ArithmeticException e) {
  
            System.out.println("Cause of Exception : "
                               + e.getCause());
        }
    }
  
    // method which divides two number
    public static void divide(int a, int b)
        throws Exception
    {
  
        // divide two numbers
        int i = a / b;
    }
}
Producción:

Cause of Exception : null

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

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 *