1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
// file : odb/sqlite/exceptions.cxx
// copyright : Copyright (c) 2005-2015 Code Synthesis Tools CC
// license : GNU GPL v2; see accompanying LICENSE file
#include <sstream>
#include <odb/sqlite/exceptions.hxx>
using namespace std;
namespace odb
{
namespace sqlite
{
//
// forced_rollback
//
const char* forced_rollback::
what () const throw ()
{
return "transaction is forced to rollback";
}
forced_rollback* forced_rollback::
clone () const
{
return new forced_rollback (*this);
}
//
// database_exception
//
database_exception::
~database_exception () throw ()
{
}
database_exception::
database_exception (int e, int ee, const string& m)
: error_ (e), extended_error_ (ee), message_ (m)
{
ostringstream ostr;
ostr << error_;
if (error_ != extended_error_)
ostr << " (" << extended_error_ << ")";
ostr << ": " << message_;
what_ = ostr.str ();
}
const char* database_exception::
what () const throw ()
{
return what_.c_str ();
}
database_exception* database_exception::
clone () const
{
return new database_exception (*this);
}
//
// cli_exception
//
cli_exception::
cli_exception (const std::string& what)
: what_ (what)
{
}
cli_exception::
~cli_exception () throw ()
{
}
const char* cli_exception::
what () const throw ()
{
return what_.c_str ();
}
cli_exception* cli_exception::
clone () const
{
return new cli_exception (*this);
}
}
}
|