Title: Exceptions
1Exceptions
Ing. Andrea Quan
2Exceptions
- Existen errores en tiempo de compilación, y
errores en tiempo de ejecución a los cuales
llamaremos Exceptions. - Cada vez que ocurre un error en tiempo de
ejecución la JVM levanta una exception para
anunciarlo y para la ejecución del programa. - Sin embargo, Java nos provee una forma de atrapar
esa exception y hacer algo en vez de que la JVM
termine con la ejecución del programa. (Exception
handling)
3Recuperarse de los errores
- Al atrapar exceptions usted puede recuperarse de
los errores.
try int i Integer.parseInt(teclado.readLine()
) int total 10 i catch
(NumberFormatException nfe) System.out.println(
No es un numero!) System.out.println(termino
)
4Recuperarse de los errores
try f new FileInputStream(archivo")
i f.read() catch (FileNotFoundException
e1) System.out.println("El archivo no
existe!!!") catch (IOException e2)
f.close()
5Crear Exceptions
Nosotros podemos crear nuestras propias
exceptions solo tenemos que heredar a la clase
Exception. public class ZeroDenomException
extends Exception / Esta exception
es por si el denominador de una division es
cero /
6Crear Exceptions
public double division (int num, int den)
throws ZeroDenomException if (den 0)
throw new ZeroDenomException() código
del método
7throw new Exception
- La sentencia throw levanta una exception
sacandonos del método - La diferencia con el return es que no tenemos
que devolver nada y que puede bajar varios
activation records, no solo uno como el return.
8Throws Exception
- Esta sentencia ayuda al compilador a llevar el
control de que exceptions se pueden propagar y
donde. - Si no lo ponemos , no nos compila el programa.
- Exception checking
9Exception checking
- No todas las clases necesitan ser chequeadas
- Unchecked exceptions ? subclases de
RunTimeException - IOException y nuestras exceptions son checked
exceptions - Mejor dejamos que el compilador nos diga cuales
se chequean y cuales no.
10Clase Throwable
Throwable
Exceptions
Error
Errores en tiempo de corrida de los cuales nos
podemos recuperar
FATAL ERRORS! Errores de los cuales no nos
podemos recuperar