Hola a todos, hoy os traigo como podemos crear nuestras propias excepciones con la clase Exception.
A veces, es necesario que tengamos nuestras propias excepciones, ya sea porque tengan algún tipo de código de error, etc.
Lo único que debemos hacer es crear una clase y hacer que esta herede de la clase Exception.
public class MiExcepcion extends Exception{ }
Después le ponemos los atributos que necesitamos (si queremos) y un constructor llamando a la clase padre con super(), por ejemplo:
public class MiExcepcion extends Exception{ private int codigoError; public MiExcepcion(int codigoError){ super(); this.codigoError=codigoError; } }
Para mostrar un mensaje, debemos reescribir la función getMessage(), veamos un ejemplo:
public class MiExcepcion extends Exception{ private int codigoError; public MiExcepcion(int codigoError){ super(); this.codigoError=codigoError; } @Override public String getMessage(){ String mensaje=""; switch(codigoError){ case 111: mensaje="Error, el numero esta entre 0 y 10"; break; case 222: mensaje="Error, el numero esta entre 11 y 20"; break; case 333: mensaje="Error, el numero esta entre 21 y 30"; break; } return mensaje; } }
Se puede hacer de varias maneras, este es un ejemplo, tambien puedes pasarle el mensaje al crear al excepción.
Veamos el ejemplo completo:
—Clase MiExcepcion
public class MiExcepcion extends Exception{ private int codigoError; public MiExcepcion(int codigoError){ super(); this.codigoError=codigoError; } @Override public String getMessage(){ String mensaje=""; switch(codigoError){ case 111: mensaje="Error, el numero esta entre 0 y 10"; break; case 222: mensaje="Error, el numero esta entre 11 y 20"; break; case 333: mensaje="Error, el numero esta entre 21 y 30"; break; } return mensaje; } }
—Clase ejecutable
public class EjemploPropiaExcepcion { public static void main(String[] args) { int num; try { num = 5; if (num >= 0 && num <= 10) { throw new MiExcepcion(111); } else if (num > 10 && num <= 20) { throw new MiExcepcion(222); } else if (num > 20 && num <= 30) { throw new MiExcepcion(333); } } catch (MiExcepcion ex) { System.out.println(ex.getMessage()); } } }
Como veis, según el número que pongamos lanzará una excepción u otra, se capturará y se mostrara el error, segun el codigo que haya puesto al crear la excepción.
Para el caso de num = 5, se veria este mensaje:
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta