try … catch …finally
...
try {
// código que puede generar excepciones
...
} catch(excepcion1 e1){
...
} catch(excepcion2 e2){
...
} catch(Exception err){
... // tratamiento ante cualquier excepción que no estamos controlando anteriormente
System.err.println(err.getMessage()); //error del objeto
System.err.println(err.getLocalizedMessage()); // descripción local del objeto
System.err.println(err.toString()); // descripcion del objeto
err.printStackTrace(); // imprime el objeto y la traza de pila de llamadas lanzadas
} finally { //opcional
... // siempre se ejecuta haya o o ocurrido excepción
}
Los try pueden anidarse. si el try interno no tiene catch se utilizará el manejador de try … catch más externo.
Especificar excepciones
Se utilizará throws seguida de toda la lista de excepciones potenciales.
public static void main(String[] args) throws IOException, ClassNotFoundException {
....
}