Buenas amigos, llevaba algún tiempo dándole vueltas a la cabeza y temiendo el día en que tuviese que escribir un tema sobre las Excepciones ¿por qué? pues porque me resultan pesadas de explicar y a veces a la gente le resulta difícil de entender,aunque eso no quita que sea uno de los apartados más importantes de java y bien va a merecer todos los esfuerzos que le ponga. Bien para mitigar mi desesperación y la vuestra, voy a dividir el apartado de Excepciones en 4 partes:
- Excepciones Marcadas
- Excepciones No Marcadas
- Excepciones Personalizadas y Métodos de Excepciones.
- Definición de las Excepciones más utilizadas.
Bien, ¿qué es una Excepción?. Es una situación "imposible de procesar" que se produce durante la ejecución de un programa, por ejemplo:
- int a[]=new int[2];
- a[0];
- a[1];
- System.out.print(a[2]);
Además de Excepciones también es posible que se produzcan errores. Un error es una situación que escapa al control del desarrollador, el programa no deberá intentar recuperarse del error. Esto es debido quizás por algún tipo de fallo en la JVM o por falta de memoria para ejecutar la aplicación, etc. No le daremos más vueltas a los errores en este tema, solo mencionarlo para que quede claro.
Cada Excepción tiene una subclase de "Exception", aquí voy a poner algunas, no todas, mientras que los errores son subclase de "Error", ambas, (Exception y Error) son subclases de "Throwable":
Bien, como dijimos anteriormente, una excepción puede ser:
- Marcada
- No Marcada
Las excepciones Marcadas son aquellas que son obligatorias capturar. Normalmente estas excepciones son generadas por algunos métodos de determinadas clases.
Todas las excepciones, MENOS "RunTimeException y sus subclases", son Marcadas. Esto es importante, TODAS las excepciones son Marcadas EXCEPTO "RunTimeException y sus subclases". Dicho esto 2 veces, continuamos.
Como estamos obligados a capturar las Excepciones Marcadas de otros métodos, debemos utilizar la palabra clave "throws+ ListaDeExcepciones" (Puede ser que tenga más de una excepción generada), la cual se declarará después de la definición del método:
Supongamos que utilizamos un método de otra clase que tenga declaradas la excepcion "IOException" y "SQLException", cuando queramos utilizar ese método en otra clase deberemos poner:
- public void unMetodo() throws IOException , SQLException{...}
Como podéis observar, ponemos el "throws" y las excepciones, separadas por una coma, entre la lista de argumentos y la apertura de llaves.
De todas maneras no preocuparse mucho por esto, ya que eclipse, netbeans, o cualquier otro, te avisa cuando utilizas un método de otra clase y debes capturar las excepciones, aunque nunca está de más saber porque eclipse te hace eso.Ya saben "el conocimiento es poder".
No les doy más la brasa, lo dejamos con las Excepciones Marcadas, en el próximo tema se va a poner un poco más tedioso ya que tendremos que utilizar los bloques try,catch,finally. Un saludo a todos.
hiciste un trabajo impecable con este blog
ResponderEliminarEncantado
ResponderEliminar