Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Excepciones Unidad 5
2
Excepciones En todo programa existen errores inesperados en tiempo de ejecución, y también errores que no consideramos debido a nuestra propia inexperiencia como programadores. Ejemplos: al intentar acceder a un elemento del arreglo que está fuera del límite del arreglo, o cuando intentamos acceder a un archivo inexistente, entre otros. Estos errores: interrumpen el flujo de ejecución de nuestros programas, hasta el extremo de provocar la terminación del programa en forma inmediata. Java hace uso de las excepciones: para poder controlar los errores en tiempo de ejecución.
3
Excepciones (cont.) Los errores que surgen en tiempo de ejecución
lanzan excepciones Si ocurre un error dentro de un método de Java el método crea un objeto Exception, dicho objeto contiene información sobre la excepción: su tipo y el estado del programa cuando ocurrió el error. El sistema de ejecución es el responsable de buscar algún código para manejar el error. La clase Throwable, es la superclase de todas las clases de manejo de errores.
4
Tipos Checked: Son las excepciones que revisa el compilador. Unchecked: Son las excepciones que no revisa el compilador y se dan en tiempo de ejecución. Para manejar las excepciones y evitar que un programa termine por algún error se usa el bloque: try-catch.
5
Estructura try { //Código donde puede ocurrir un error } catch (ExcepcionA ex) { // Que se va a hacer en caso que se lanze una Excepcion A } ... catch (ExcepcionZ ex) { // Que se va a hacer en caso que se lanze una Excepcion Z }
6
bloque try{ } Parte del programa en que desea gestionar un error.
Parte donde puede ocurrir el error Es donde se pone el código que se quiere “INTENTAR” ejecutar.
7
catch (TipoExcepcion e)
Se ejecuta en caso se que lance una excepción TipoExcepcion o que pertenezca al grupo TipoExcepcion. Se colocan las instrucciones a realizar cuando se detecta un error El sistema de ejecución Java busca hacia atrás en la pila de llamadas para encontrar el método que esté interesado en manejar una excepción particular. Si se lanza una excepción en el método si no está interesado ve quién llamó S i no en muchos casos se termina la ejecución de nuestro programa. Ejemplos: catch(ArrayIndexOutOfBoundsException e){ }, catch (ArrayException e){}.
8
Throws Se utilizan lanzar una excepción.
Esta sentencia requiere un sólo argumento Ejemplo: código de la función pop() propósito es sacar el elemento superior pila.public Object pop() throws EmptyStackException { Object obj; if (size == 0) throw new EmptyStackException(); obj = objectAt(size - 1); setObjectAt(size - 1, null); size--; return obj; } El método pop() comprueba si la pila no está vacía. Si lo está, crea un nuevo objeto de la clase EmptyStackException y lo lanza, aunque en el método no se genere alguna excepción debido a lo bien validado que se encuentra, nosotros somos quienes lo lanzamos. Además por lógica, la clase EmpyStackException es una subclase de Thowable, ya que en cualquier otro caso, no se podría lanzar dicha excepción. Algo que se debe considerar aquí, es que en la declaración del procedimiento añade el siguiente código throws EmptyStackException, throws es una palabra reservada de java, y EmpyStackException es una subclase de Throwable. El uso de throws permite evitarnos la molestia de capturar las excepciones del tipo de excepciones indicadas después de esta palabra (las clases van separadas por coma), esto debido a que deja al sistema de ejecución Java que decida cuál sería la mejor opción en caso de que ocurriera una excepción de los tipos indicados.
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.