Control de excepciones

Las excepciones son un mecanismo que se usa para controlar los posibles errores que se pueden producir en java.

Cuando se detecta un error en un método, se lanza un objeto «Throwable».

Las excepciones se basan en el bloque de código try – catch que funciona del siguiente modo:

  • Se ejecuta (en cascada) el código del try.
  • Si no salta un error, se ejecuta el resto del try y se pasa por alto el catch.
  • Si se detecta un error, se detiene la ejecución del bloque try y se pasa a la ejecución del catch.
try{
//Aquí va el código
}
catch(tipoDeException error){
//Código que se ejecuta en caso de error (generalmente mensaje de error)
}

Es posible definir varias excepciones:

try{
//código
}
catch(ArithmeticException ae){
//Código
}
catch(NullPointerException ne){
//Código
}

Una excepción es, a grandes rasgos, algo que no debería suceder, por ejemplo, si a una variable de tipo numérico intentamos asignarle una cadena de texto como valor, o cuando hacemos una llamada a un índice que no existe dentro de un array.

Las excepciones presentan un árbol jerárquico que parte de Throwable, del cual heredan la clase Exception además de Error.

A su vez, de Exception, heredan varios tipos de excepciones definidas.

Es recomendable tratar de utilizar siempre las excepciones más concretas con el fin de acotar los posibles errores.

Hasta ahora conocemos el uso básico de un try catch, pero existe un supuesto que no podemos abarcar con esta estructura debido a sus saltos condicionales, es el hecho de tener que definir código que deba ejecutarse independientemente de que existan errores, esto se soluciona con el bloque «finally», el cual se ejecutará siempre una vez el flujo de ejecución salga de los bloques previos:

try{
//Código
}
catch(NullPointerException error){
//Código que solo se ejecutará si se lanza un error del tipo NullPointerException
}
finally{
//Código que se ejecutará siempre.
}

Más info sobre excepciones

¿Te ha resultado útil?

Promedio de puntuación 0 / 5. Recuento de votos: 0

Deja una respuesta