00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef BITINDICES_EXCEPTION_H
00020 #define BITINDICES_EXCEPTION_H
00021
00022 #include <sstream>
00023
00024 #include <bit/except.h>
00025
00026 namespace bit
00027 {
00028
00034 class indices_exception: public bit_exception
00035 {
00036 public:
00037 indices_exception(): bit_exception("bit:Indices: Unknown exception.")
00038 { }
00039 indices_exception(const std::string s): bit_exception(s)
00040 { }
00041 }
00042 ;
00043
00044 namespace exception
00045 {
00046
00047
00048 namespace indices
00049 {
00050
00056 class invalid_numeric_id: public indices_exception
00057 {
00058 public:
00059 invalid_numeric_id(): indices_exception("bit:Indices: Invalid numeric identifier, index not found.")
00060 { }
00061 invalid_numeric_id(unsigned int id): indices_exception("bit:Indices: Invalid numeric identifier, index not found.")
00062 {
00063 std::ostringstream sout;
00064 sout << "bit:Indices: No index with numeric identifier (" << id << ")";
00065 m_exception_string = sout.str();
00066 }
00067 }
00068 ;
00069
00075 class invalid_string_id: public indices_exception
00076 {
00077 public:
00078 invalid_string_id(): indices_exception("bit:Indices: Invalid string identifier, index not found.")
00079 { }
00080 invalid_string_id(std::string s): indices_exception("bit:Indices: Invalid numeric identifier, index not found.")
00081 {
00082 m_exception_string = "bit:Indices: No index with string identifier (" + s + ")";
00083 }
00084 }
00085 ;
00086
00087
00088 }
00089 }
00090 }
00091 #endif