El sistema de excepciones se gestiona con el 'try', el 'catch', y el 'finally' siendo este último opcional.
Try es un bloque que contiene el código que puede dar problemas a la hora de ejecutarse. Catch son los bloques que contienen las posibles excepciones (cada bloque catch indica un tipo de error) y sus resectivos tratamientos. Finally es un bloque que contiene un código que se ejecuta sin importar que haya habido errores o no.
Ejemplos de códigos con errores y excepciones
public class Programa
{
public static void main(String [] args)
{
try
{
System.out.println("Intentamos ejecutar el bloque de instrucciones:");
System.out.println("Instrucción 1.");
int n = Integer.parseInt("M");//error de NumberFormatException, que es cuando se espera un número y se introduce otra cosa.
System.out.println("Instrucción 2.");
System.out.println("Instrucción 3, etc.");
}
catch (NumberFormatException e) //Excepción sólo para ese tipo de error
{
System.out.println("Instrucciones a ejecutar cuando se produce un error");
}
catch (NullPointerException e1) //Cuando se hace referencia a un objeto no inicializado.
{
System.out.println("Error de objeto inexistente");
}
catch (IOException e2)
{
System.out.println("Error de entrada y salida de datos, por ejemplo cuando estamos leyendo del teclado");
}
catch (ArithmeticException e3)
}
System.out.println("Error de operación matemática no válida");
}
catch (Excepction e4)
{
System.out.println("Error desconocido y general");
}
finally
{
System.out.println("Instrucciones a ejecutar finalmente tanto si se producen errores como si no.");
}
}
}