23.02.2017 Views

Java

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

JAvA 151<br />

De esta forma cuando un método finaliza su ejecución, se continúa con<br />

la ejecución del método anterior en la cadena. A esta cadena se la<br />

conoce como call stack (pila de llamadas) y viene de la representación<br />

en la memoria de los activation records. Cuando lanzamos una<br />

excepción, el runtime (la máquina virtual <strong>Java</strong>) va buscando en el call<br />

stack, en orden reverso de ejecución, si en alguno de los métodos hay<br />

un exception handler, o manejador de excepciones, asociado al tipo<br />

de la excepción lanzada.<br />

...<br />

Ejecuta handler<br />

encontrado<br />

Regresa<br />

ejecución<br />

A<br />

¿Tiene<br />

handler?<br />

B<br />

HANDLER<br />

Ejecuta<br />

método<br />

!<br />

Ejecuta<br />

método<br />

Falta<br />

¿Tiene handler?<br />

Figura 2. En un stack se busca la primera activación con<br />

un handler adecuado, yendo hacia atrás en la cadena.<br />

Códigos de error<br />

Los lenguajes como C que no tienen excepciones fuerzan al programador a verificar constantemente<br />

los resultados de las operaciones para saber si hubo un error o no. Para esto los métodos regresan un<br />

dato que representa un código de error o una marca booleana para indicar éxito o fracaso. El código así<br />

escrito sufre de gran cantidad de if y otros enredos para manejar los casos de error.<br />

www.FreeLibros.me<br />

www.redusers.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!