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 { .... }