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()); } } }
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()); } } }
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