23.02.2017 Views

Java

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

158<br />

8. Excepciones<br />

al usuario por el archivo y resulta que no existe, entonces una opción<br />

sería preguntar de nuevo. Otro ejemplo es si estamos en un sistema y<br />

buscamos un usuario pero este no existe, el sistema podría preguntar<br />

si se desea crear el usuario. Estas excepciones representan errores en el<br />

dominio del problema y son tratables en la mayoría de los casos.<br />

Excepciones no chequeadas<br />

Las excepciones no chequeadas son aquellas que son de tipo<br />

RuntimeException o alguna de sus subclases. Estas excepciones son<br />

silenciosas, el compilador no nos obliga a atraparlas ni a declararlas<br />

en las firmas de los métodos (y por lo tanto no sabemos si un método<br />

arroja alguna excepción de este tipo). Estas excepciones representan<br />

errores de la aplicación que son recuperables y generalmente resultan<br />

de errores de programación o de lógica en el programa. Un caso de<br />

estas excepciones son las NullPointerException, que aparecen cuando<br />

queremos mandarle un mensaje a null.<br />

Resultaría molesto que por todos lados nos obliguen a tratar o<br />

declarar estas excepciones que podrían ocurrir en cualquier punto<br />

donde se envía un mensaje. Si bien es posible atrapar estos errores y<br />

tratarlos, debería ser en casos muy extraños y específicos. En la mayoría<br />

de los casos hay que corregir el error en el programa. Las excepciones<br />

chequeadas forman parte del contrato de un método, en cambio, las no<br />

chequeadas representan qué sucede si se lo rompe.<br />

// no es necesario declararla ni atraparla<br />

public void copiar(String unTexto) {<br />

if(unTexto == null) throw new IllegalArgumentException(“unText”);<br />

…<br />

}<br />

…<br />

this.copiar(algo);<br />

// no sabemos que arroja una excepción<br />

…<br />

www.redusers.com<br />

www.FreeLibros.me

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

Saved successfully!

Ooh no, something went wrong!