1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
9 #ifndef anna_dbms_DatabaseException_hpp
10 #define anna_dbms_DatabaseException_hpp
12 #include <anna/core/Exception.hpp>
14 #include <anna/dbms/ResultCode.hpp>
21 Exception ocurrida al acceder a algun servicio de la base de datos.
23 class DatabaseException : public Exception {
28 @param resultCode Clase utilizada para transferir codigo de error entre el gestor de base de datos
29 y nuestro programa. Entre otra informacion contiene el error ocurrido en la ultima operacion realizada.
30 @param fromFile Fichero en el que se provoco la situacion de error.
31 @param fromLine Linea del fichero en la que se provoco la situacion de error.
33 DatabaseException(const ResultCode& resultCode, const char* fromFile, const int fromLine) :
34 Exception(resultCode.getErrorText(), "DatabaseException", fromFile, fromLine),
35 a_resultCode(resultCode) {}
40 @param logicalName Nombre logico del elemento que genera la excepcion.
41 @param resultCode Clase utilizada para transferir codigo de error entre el gestor de base de datos
42 y nuestro programa. Entre otra informacion contiene el error ocurrido en la ultima operacion realizada.
43 @param fromFile Fichero en el que se provoco la situacion de error.
44 @param fromLine Linea del fichero en la que se provoco la situacion de error.
46 DatabaseException(const std::string& logicalName, const ResultCode& resultCode, const char* fromFile, const int fromLine) :
47 Exception("", "DatabaseException", fromFile, fromLine),
48 a_resultCode(resultCode) {
49 std::string aux(logicalName);
51 aux += resultCode.getErrorText();
58 virtual ~DatabaseException() {;}
61 Devuelve el resultado de base de datos asociado a la excepcion
63 @return El resultado de base de datos asociado a la excepcion
65 const ResultCode& getResultCode() const { return a_resultCode; }
68 const ResultCode a_resultCode;