Excepción personalizada definida por el usuario en Java

Una excepción es un problema (error de tiempo de ejecución) que ocurrió durante la ejecución de un programa. Cuando ocurre una excepción, el programa termina abruptamente y el código que pasa por la línea que generó la excepción nunca se ejecuta.

Java nos brinda la posibilidad de crear nuestras propias excepciones, que son básicamente clases derivadas de Exception. Crear nuestra propia excepción se conoce como excepción personalizada o excepción definida por el usuario. Básicamente, las excepciones personalizadas de Java se utilizan para personalizar la excepción según las necesidades del usuario. En palabras simples, podemos decir que una excepción definida por el usuario o una excepción personalizada está creando su propia clase de excepción y lanzando esa excepción usando la palabra clave ‘lanzar’.

Por ejemplo, MyException en el siguiente código amplía la clase Exception. 

¿Por qué usar excepciones personalizadas?

Las excepciones de Java cubren casi todos los tipos generales de excepciones que pueden ocurrir en la programación. Sin embargo, a veces necesitamos crear excepciones personalizadas.

Las siguientes son algunas de las razones para usar excepciones personalizadas:

  • Para capturar y proporcionar un tratamiento específico a un subconjunto de excepciones de Java existentes.
  • Excepciones de lógica empresarial: estas son las excepciones relacionadas con la lógica empresarial y el flujo de trabajo. Es útil para los usuarios de la aplicación o los desarrolladores comprender el problema exacto.

Para crear una excepción personalizada, necesitamos extender la clase Exception que pertenece al paquete java.lang.

Ejemplo: Pasamos la string al constructor de la superclase- Exception que se obtiene usando la función “getMessage()” sobre el objeto creado.

Java

// A Class that represents use-defined exception
 
class MyException extends Exception {
    public MyException(String s)
    {
        // Call constructor of parent Exception
        super(s);
    }
}
 
// A Class that uses above MyException
public class Main {
    // Driver Program
    public static void main(String args[])
    {
        try {
            // Throw an object of user defined exception
            throw new MyException("GeeksGeeks");
        }
        catch (MyException ex) {
            System.out.println("Caught");
 
            // Print the message from MyException object
            System.out.println(ex.getMessage());
        }
    }
}
Producción

Caught
GeeksGeeks

En el código anterior, el constructor de MyException requiere una string como argumento. La string se pasa al constructor de la clase principal Exception usando super(). El constructor de la clase Exception también se puede llamar sin un parámetro y la llamada a super no es obligatoria. 

Java

// A Class that represents use-defined exception
 
class MyException extends Exception {
}
 
// A Class that uses above MyException
public class setText {
    // Driver Program
    public static void main(String args[])
    {
        try {
            // Throw an object of user defined exception
            throw new MyException();
        }
        catch (MyException ex) {
            System.out.println("Caught");
            System.out.println(ex.getMessage());
        }
    }
}
Producción

Caught
null

Este artículo es una contribución de Pranjal Mathur . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. 

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

Deja una respuesta

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