Remove dynamic exceptions
[anna.git] / include / anna / dbms / Database.hpp
index bbe46c5..f218085 100644 (file)
@@ -49,7 +49,7 @@ public:
     Type() : value(Local) {;}
     Type(const _v v) : value(v) {;}
     Type(const Type& v) : value(v.value) {;}
-    operator int () const throw() { return value; }
+    operator int () const { return value; }
   };
 
   typedef std::vector <Connection*>::const_iterator const_connection_iterator; /**<Iterador para acceder a las conexiones de esta base de datos */
@@ -64,13 +64,13 @@ public:
      Devuelve el tipo de conexion de esta base de datos.
      \return El tipo de conexion de esta base de datos.
   */
-  const Type& getType() const throw() { return a_type; }
+  const Type& getType() const { return a_type; }
 
   /**
      Devuelve el nombre de la base de datos indicado en el constructor.
      \return El nombre de la base de datos indicado en el constructor.
   */
-  const std::string& getName() const throw() { return a_name; }
+  const std::string& getName() const { return a_name; }
 
   /**
      Establece el manejador encargado de actuar cuando la recuperacion de la conexion falla.
@@ -78,13 +78,13 @@ public:
      \param failRecoveryHandler Manejador que seria invocado en caso de que no sea posible recuperar
      una determina conexion.
   */
-  void setFailRecoveryHandler(FailRecoveryHandler* failRecoveryHandler) throw() { a_failRecoveryHandler = failRecoveryHandler; }
+  void setFailRecoveryHandler(FailRecoveryHandler* failRecoveryHandler) { a_failRecoveryHandler = failRecoveryHandler; }
 
   /**
    * Establece el traductor de sentencias SQL usado ajustar las sentencias SQL al
    * motor de base de datos usados en la aplicaciĆ³n.
    */
-  void setStatementTranslator(StatementTranslator* statementTranslator) throw() { a_statementTranslator = statementTranslator; }
+  void setStatementTranslator(StatementTranslator* statementTranslator) { a_statementTranslator = statementTranslator; }
 
   /**
      Crea y registra una nueva conexion con esta base de datos.
@@ -98,7 +98,7 @@ public:
      @return La instancia de la nueva conexion a la base de datos.
   */
   Connection* createConnection(const char* name, const char* user, const char* password)
-  throw(RuntimeException, DatabaseException);
+  noexcept(false);
 
   /**
      Devuelve la conexion asociada al nombre logico recibido como parametro.
@@ -106,19 +106,19 @@ public:
      \return La conexion asociada al nombre logico recibido como parametro.
      \warning Si la conexion logica no existe no puede ser usada se lanzara una excepcion.
   */
-  Connection& findConnection(const char* name) throw(RuntimeException);
+  Connection& findConnection(const char* name) noexcept(false);
 
   /**
      Devuelve un iterator al comienzo de la lista de conexiones establecidas con esta base de datos.
      \return Un iterator al comienzo de la lista de conexiones establecidas con esta base de datos.
   */
-  const_connection_iterator connection_begin() const throw() { return a_connections.begin(); }
+  const_connection_iterator connection_begin() const { return a_connections.begin(); }
 
   /**
      Devuelve un iterator al final de la lista de conexiones establecidas con esta base de datos.
      \return Un iterator al final de la lista de conexiones establecidas con esta base de datos.
   */
-  const_connection_iterator connection_end() const throw() { return a_connections.end(); }
+  const_connection_iterator connection_end() const { return a_connections.end(); }
 
   /**
      Crea y registra una nueva sentencia SQL asociada a esta base de datos.
@@ -134,7 +134,7 @@ public:
      \return Una nueva instancia de una conexion a base de datos. No puede ser NULL.
   */
   Statement* createStatement(const char* name, const char* expression, const bool isCritical = true)
-  throw(RuntimeException);
+  noexcept(false);
 
   /**
      Crea y registra una nueva sentencia SQL asociada a esta base de datos.
@@ -150,7 +150,7 @@ public:
      \return Una nueva instancia de una conexion a base de datos. No puede ser NULL.
   */
   Statement* createStatement(const char* name, const std::string& expression, const bool isCritical = true)
-  throw(RuntimeException) {
+  noexcept(false) {
     return createStatement(name, expression.c_str(), isCritical);
   }
 
@@ -160,53 +160,53 @@ public:
      @return La instancia de la sentencia SQL  asociada al nombre recibido.
      Puede ser NULL si el nombre no fue registrado previamente con #createStatement.
   */
-  Statement* findStatement(const char* name) throw();
+  Statement* findStatement(const char* name) ;
 
   /**
      Libera los recursos de la sentencia SQL recibida como parametro.
      \param statement Instancia de la sentencia SQL a liberar. deberia haber sido obtenida mediante
      el metodo #createStatement.
   */
-  void releaseStatement(Statement* statement) throw();
+  void releaseStatement(Statement* statement) ;
 
   /**
      Devuelve un iterator al comienzo de la lista de sentencias SQL creadas en esta base de datos.
      \return Un iterator al comienzo de la lista de sentencias SQL creadas en esta base de datos.
   */
-  const_statement_iterator statement_begin() const throw() { return a_statements.begin(); }
+  const_statement_iterator statement_begin() const { return a_statements.begin(); }
 
   /**
      Devuelve un iterator al final de la lista de sentencias SQL creadas en esta base de datos.
      \return Un iterator al final de la lista de sentencias SQL creadas en esta base de datos.
   */
-  const_statement_iterator statement_end() const throw() { return a_statements.end(); }
+  const_statement_iterator statement_end() const { return a_statements.end(); }
 
   /**
      Devuelve el objeto sobre el que esta posicionado el iterator recibido como parametro.
      \param ii Iterator que deberia estar comprendido entre #statement_begin y #statement_end.
      \return El objeto sobre el que esta posicionado el iterator recibido como parametro.
   */
-  static Statement* statement(const_statement_iterator& ii) throw() { return *ii; }
+  static Statement* statement(const_statement_iterator& ii) { return *ii; }
 
   /**
      Devuelve una cadena con la informacion mas relevante de esta instancia.
      \return Una cadena con la informacion mas relevante de esta instancia.
   */
-  virtual std::string asString() const throw();
+  virtual std::string asString() const ;
 
   /**
      Devuelve un documento XML con la informacion mas relevante de esta instancia.
      \param parent Nodo XML del que colgar la informacion referente a esta instancia.
      \return Un documento XML con la informacion mas relevante de esta instancia.
   */
-  virtual xml::Node* asXML(xml::Node* parent) const throw();
+  virtual xml::Node* asXML(xml::Node* parent) const ;
 
   /**
      Devuelve el objeto sobre el que esta posicionado el iterator recibido como parametro.
      \param ii Iterator que deberia estar comprendido entre #connection_begin y #connection_end.
      \return El objeto sobre el que esta posicionado el iterator recibido como parametro.
   */
-  static const Connection* connection(const_connection_iterator& ii) throw() { return *ii; }
+  static const Connection* connection(const_connection_iterator& ii) { return *ii; }
 
 protected:
   typedef std::vector <Connection*>::iterator connection_iterator; /**<Iterador para acceder a las conexiones de esta base de datos */
@@ -225,7 +225,7 @@ protected:
      \param connection Instancia de la conexion en la que hemos detectado el fallo.
      \param tryCounter numero de intentos de recuperacion de la conexion.
   */
-  void recover(Connection& connection, const int tryCounter) throw(RuntimeException);
+  void recover(Connection& connection, const int tryCounter) noexcept(false);
 
   /**
      Inicializa las conexiones definidas sobre esta base de datos. Este metodo se invocaria
@@ -233,32 +233,32 @@ protected:
      Slo seria necesario invocarlo cuando nuestro programa no tenga asociada ninguna aplicacion
      que se encarga de inicializar los componentes.
   */
-  virtual void do_initialize() throw(RuntimeException);
+  virtual void do_initialize() noexcept(false);
 
   /**
      Elimina las conexiones definidas sobre esta base de datos. Este metodo se invocaria automaticamente
      desde el nucleo de ANNA.
   */
-  virtual void do_stop() throw();
+  virtual void do_stop() ;
 
   /**
      Devuelve un iterator al comienzo de la lista de conexiones establecidas con esta base de datos.
      \return Un iterator al comienzo de la lista de conexiones establecidas con esta base de datos.
   */
-  connection_iterator connection_begin() throw() { return a_connections.begin(); }
+  connection_iterator connection_begin() { return a_connections.begin(); }
 
   /**
      Devuelve un iterator al final de la lista de conexiones establecidas con esta base de datos.
      \return Un iterator al final de la lista de conexiones establecidas con esta base de datos.
   */
-  connection_iterator connection_end() throw() { return a_connections.end(); }
+  connection_iterator connection_end() { return a_connections.end(); }
 
   /**
      Devuelve el objeto sobre el que esta posicionado el iterator recibido como parametro.
      \param ii Iterator que deberia estar comprendido entre #connection_begin y #connection_end.
      \return El objeto sobre el que esta posicionado el iterator recibido como parametro.
   */
-  static Connection* connection(connection_iterator& ii) throw() { return *ii; }
+  static Connection* connection(connection_iterator& ii) { return *ii; }
 
 private:
   const std::string a_name;
@@ -270,24 +270,24 @@ private:
 
   Database(const Database&);
 
-  void do_cloneChild() throw(RuntimeException);
+  void do_cloneChild() noexcept(false);
 
   virtual Connection* allocateConnection(const std::string& name, const char* user, const char* password)
-  throw(RuntimeException) = 0;
+  noexcept(false) = 0;
 
   virtual Statement* allocateStatement(const char* name, const std::string& expression, const bool isCritical)
-  throw(RuntimeException) = 0;
+  noexcept(false) = 0;
 
   virtual InputBind* allocateInputBind(const char* name, Data& data)
-  throw(RuntimeException) = 0;
-  virtual void deallocate(InputBind* inputBind) throw() = 0;
+  noexcept(false) = 0;
+  virtual void deallocate(InputBind* inputBind)  = 0;
 
   virtual OutputBind* allocateOutputBind(const char* name, Data& data)
-  throw(RuntimeException) = 0;
-  virtual void deallocate(OutputBind* outputBind) throw() = 0;
+  noexcept(false) = 0;
+  virtual void deallocate(OutputBind* outputBind)  = 0;
 
   friend class Statement;
-  friend ResultCode Connection::execute(Statement*) throw(RuntimeException, DatabaseException);
+  friend ResultCode Connection::execute(Statement*) noexcept(false);
 };
 
 }