public void LogErrorsAndClose(Action <IConnectionManager> a) { IConnectionManager conn = DbConnectionManager.CloneIfAllowed(); try { conn.Open(); a.Invoke(conn); } catch (Exception e) { LogError(e.Message); throw; } finally { conn.CloseIfAllowed(); } }