El control de dichas excepciones se utiliza para la detección y corrección de errores. Si hay un error, la aplicación no debería "morirse".
Para manejar las excepciones en Java, se actúa de la siguiente manera:
- Se intenta (try) ejecutar la sentencia o bloque de sentencias que pueden producir algún error.
- Se captura (catch) las posibles excepciones que se hayan podido producir, ejecutando una serie de sentencias que informen o intenten resolver el error.
- Finalmente (finally) se puede ejecutar una serie de sentencias tanto si se ha producido un error como si todo ha ido bien.
try
{
Sentencias que pueden producir error
}
catch(ClaseExcepción variableRecogeExcepción)
{
Sentencias que informan o procuran solucionar el error.
Puede haber varios catch.
La variable no se tiene declarar antes.
}
finally
{
Sentencias que deben ejecutarse en cualquier caso (opcional)
}
El elemento ClaseExcepción que aparece junto a catch, debe ser una de las clases de excepción que utiliza Java. Al generarse el error durante la ejecución podemos comprobar qué clase de excepción se ha producido. De forma general, la clase Exception recoge todos los tipos de excepciones. Si se desea un control más exhaustivo del tipo de error que se produce, se debe concretar más la clase de excepción correspondiente.{
Sentencias que pueden producir error
}
catch(ClaseExcepción variableRecogeExcepción)
{
Sentencias que informan o procuran solucionar el error.
Puede haber varios catch.
La variable no se tiene declarar antes.
}
finally
{
Sentencias que deben ejecutarse en cualquier caso (opcional)
}
Por ejemplo, cuando se intenta convertir al tipo de dato numérico entero un dato introducido por el usuario en un campo de texto se utiliza una sentencia como:
Se puede apreciar que se produce una excepción del tipo NumberFormatException, por tanto se debería captura esa excepción para controlar el error.
try
{
int num = Integer.valueOf(campoNúmero.getText());
}
catch(NumberFormatException e)
{
System.out.println("Error: El valor indicado no es un número");
}
{
int num = Integer.valueOf(campoNúmero.getText());
}
catch(NumberFormatException e)
{
System.out.println("Error: El valor indicado no es un número");
}
No hay comentarios:
Publicar un comentario