En esta lección se presenta el concepto de excepciones y como procesarlas.
throw
Cuando una instrucción no puede completarse por algún error, debe
abortar usando la instrucción
throw new Error(mensaje)
A este proceso se le llama Lanzar una excepción.
La instrución
Error: throw aborta el programa
Los errores generados por la instrucción
throw
pueden procesarse de varias formas que se verán a continuación.
try-catch
Para procesar los errores, la instrucción
throw
debe ejecutarse dentro de las llaves de
try
.
Si llega al final de las llaves de
try
sin lanzar ninguna excepción, se hace lo siguiente:
La cláusula
catch
y las
instrucciones para procesar la excepción
no se ejecutan.
Continua con las instrucciones que vengan después de la estructura
completa
try-catch
.
Si se lanza una excepción dentro de las llaves de
try
,
se hace lo siguiente:
Las restantes instrucciones hasta cerrar llaves no se ejecutan.
Se toma la excepción lanzada; a este proceso se le llama atrapar la excepción.
La excepción atrapada se pasa como parámetro a la cláusula
catch
el flujo normal se restablece y se ejecutan las
instrucciones para procesar la excepción.
Continua con las instrucciones que vengan después de la estructura
completa
try-catch
.
Ejecuta bien Continúa normal Intenta seguir Procesa el error: Fallo Adios
try-finally
Las instrucciones que están dentro de
finally
siempre se ejecutan.
Si llega al final de las llaves de
try
sin lanzar ninguna excepción, se hace lo siguiente:
Las
instrucciones que siempre se ejecutan
de la cláusula
finally
se ejecutan.
Continua con las instrucciones que vengan después de la estructura
completa
try-finally
.
Si se lanza una excepción dentro de las llaves de
try
,
se hace lo siguiente:
Las restantes instrucciones hasta cerrar llaves no se ejecutan.
Las
instrucciones que siempre se ejecutan
de la cláusula
finally
se ejecutan.
Continúa lanzando la excepción.
Sin error Si se ejecuta Continua sin falla Ejecuta con error
Error: A volar
try-catch-finally
Es una combinación de las 2 anteriores. Siempre restablece el fujo normal y
siempre se ejecutan las
instrucciones que siempre se ejecutan
de la cláusula
finally
Si llega al final de las llaves de
try
sin lanzar ninguna excepción, se hace lo siguiente:
La cláusula
catch
y las
instrucciones para procesar la excepción
no se ejecutan.
Continua con las
instrucciones que siempre se ejecutan
de la cláusula
finally
.
Continua con las instrucciones que vengan después de la estructura
completa
try-catch-finally
.
Si se lanza una excepción dentro de las llaves de
try
,
se hace lo siguiente:
Las restantes instrucciones hasta cerrar llaves no se ejecutan.
Se atrapa la excepción y se pasa como parámetro a la cláusula
catch
.
Se ejecutan las instrucciones para procesar la excepción. y el flujo normal se restablece.
Continua con las
instrucciones que siempre se ejecutan
de la cláusula
finally
.
Continua con las instrucciones que vengan después de la estructura
completa
try-catch-finally
.
Restablece Ouch finally se ejecuta Esto se realiza Try exitoso. finally se hace Esto se hace
Empezamos ¿Fallaremos? Fallamos Terminamos
En esta lección se presentaron los siguientes conceptos:
throw
.
try-catch
.
try-finally
.
try-catch-finally
.
try
anidado.
Formulario con excepciones.