apuntes:excepciones
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
apuntes:excepciones [2023/05/28 11:27] – [Excepciones] Santiago Faci | apuntes:excepciones [2023/06/04 18:31] (current) – [Excepciones] Santiago Faci | ||
---|---|---|---|
Line 8: | Line 8: | ||
que, en Java, acaban lanzando una excepción si llegan a producirse: | que, en Java, acaban lanzando una excepción si llegan a producirse: | ||
- | * Estamos escribiendo en disco y éste se llena (//IOException//) | + | * Estamos escribiendo en disco y éste se llena ('' |
- | * Estamos descargando un fichero y cae la conexión a Internet (//ConnectionException//) | + | * Estamos descargando un fichero y cae la conexión a Internet ('' |
- | * Estamos recorriendo un array en un bucle y accedemos a una posición que no existe (//IndexOutOfBoundException//) | + | * Estamos recorriendo un array en un bucle y accedemos a una posición que no existe ('' |
- | * Accedemos atributos o métodos de un objeto cuyo valor es nulo (//NullPointerException//) | + | * Accedemos atributos o métodos de un objeto cuyo valor es nulo ('' |
- | * Realizamos una operación matemática no válida (división por cero) (//ArithmeticException//) | + | * Realizamos una operación matemática no válida (división por cero) ('' |
- | En Java se propone el control de excepciones para evitar que se produzcan estos errores en lugar de tener que escribir continuamente estructuras | + | En Java se propone el control de excepciones para evitar que se produzcan estos errores en lugar de tener que escribir continuamente estructuras |
- | Se recomienda excepciones como //NullPointerException// y //IndexOfOutBoundException// no se traten como tal ya que, por lo general, corresponderán a errores de codificación, | + | Se recomienda excepciones como '' |
- | \subsection{Bloque try-catch} | + | ==== Tipos de Excepciones ==== |
+ | |||
+ | === Checked Exceptions === | ||
+ | |||
+ | * Excepciones que deben ser capturadas o declaradas en el método donde se producen | ||
+ | * Heredan directamente de la clase '' | ||
+ | * Por norma general serán el tipo de excepciones que deberemos capturar siempre en nuestro código | ||
+ | * '' | ||
+ | |||
+ | === Unchecked Exceptions === | ||
+ | |||
+ | * Excepciones que pueden ser lanzadas sin ser capturadas o declaradas | ||
+ | * Heredan de la clase '' | ||
+ | * Por norma general serán el tipo de excepciones que no deberemos capturar. Deberíamos evitar que se produjeran como, por ejemplo, en el caso de la excepción // | ||
+ | * '' | ||
+ | |||
+ | ==== Bloque try-catch | ||
El bloque // | El bloque // | ||
Line 193: | Line 209: | ||
==== Uso de recursos en bloques try-catch ==== | ==== Uso de recursos en bloques try-catch ==== | ||
- | Como hemos visto en el primer ejemplo, accedíamos a un fichero en la excepción, para luego acabar liberando los recursos al finalizar el bloque // | + | Como hemos visto en el primer ejemplo, accedíamos a un fichero en la excepción, para luego acabar liberando los recursos al finalizar el bloque // |
<code java> | <code java> | ||
Line 213: | Line 229: | ||
</ | </ | ||
- | Para este caso, hay que tener en cuenta que, para que Java pueda liberar automáticamente los recursos de una clase Java, debemos implementar uno de los interfaces | + | Para este caso, hay que tener en cuenta que, para que Java pueda liberar automáticamente los recursos de una clase Java, debemos implementar uno de los interfaces |
<code java> | <code java> | ||
Line 230: | Line 246: | ||
===== Aserciones ===== | ===== Aserciones ===== | ||
- | Las aserciones son sentencias utilizadas para comprobar si una condición es cierta (o no) y controlar asi los errores en el código. Básicamente equivale a una sentencia | + | Las aserciones son sentencias utilizadas para comprobar si una condición es cierta (o no) y controlar asi los errores en el código. Básicamente equivale a una sentencia |
Veamos un ejemplo: | Veamos un ejemplo: | ||
Line 246: | Line 262: | ||
</ | </ | ||
- | Si ejecutamos el código anterior con la opción | + | Si ejecutamos el código anterior con la opción |
<code bash> | <code bash> | ||
Line 258: | Line 274: | ||
---- | ---- | ||
- | (c) 2019-2021 Santiago Faci | + | (c) 2019-{{date> |
apuntes/excepciones.txt · Last modified: 2023/06/04 18:31 by Santiago Faci