Limpieza en el código después de ejecutar código propio en Java

RECU-0668 (Recurso Ejemplo)

Descripción

Siempre que se ejecute código que pueda terminar de manera inesperada, se debe escribir código que permita dejar el sistema tal y como estaba.

UtilesDB es una clase que cierra la conexión. El uso del bloque finally es importante ya que se ejecuta siempre, se haya lanzado una excepción o no. En este ejemplo, el bloque finally cierra la conexión y lanza una excepción RuntimeException si hay un problema cerrando la conexión.

Ejemplos

public void codigoDeAccesoADatos(){
   Connection conn = null;
   try{
      conn = getConnection();
      ...código que lanza una excepción SQLException
   } catch(SQLException ex) {
      ex.printStacktrace();
   } finally {
      UtilesDB.cerrarConexion(conn);
   }
}

class UtilesDB  {
   public static void cerrarConexion (Connection conn){
      try{
         conn.close();
      } catch(SQLException ex){
         logger.error("No puedo cerrar la conexión");
         throw new RuntimeException(ex);
      }
   }
}



Contenidos relacionados

Pautas
Área: Desarrollo » Seguridad » Gestión de Errores y Excepciones
Código Título Tipo Carácter
LIBP-0281 Tratamiento de excepciones Libro de pautas Directriz Obligatoria