00001 #include "person.h"
00002
00003 #ifndef EXCEPTION_H
00004 #define EXCEPTION_H
00005
00006 namespace errorHandling {
00007 class baseError
00008 {
00009 public:
00010 baseError()
00011 {
00012 }
00013 virtual ~baseError()
00014 {
00015 }
00016 virtual string ToString()
00017 {
00018 return "An error has occured.";
00019 }
00020 };
00021
00022 class treeError : public baseError
00023 {
00024 public:
00025 treeError() {}
00026 virtual ~treeError() {}
00027 virtual string ToString()
00028 {
00029 return "Error occured in the tree.";
00030 }
00031 };
00032
00033 class failInsert : public treeError
00034 {
00035 public:
00036 failInsert()
00037 {
00038 }
00039 virtual ~failInsert()
00040 {
00041 }
00042 virtual string ToString()
00043 {
00044 return "Failed to insert an item in the tree.";
00045 }
00046 };
00047
00048 class failRemove : public treeError
00049 {
00050 public:
00051 failRemove()
00052 {
00053 }
00054 virtual ~failRemove()
00055 {
00056 }
00057 virtual string ToString()
00058 {
00059 return "Failed to remove an item from the tree.";
00060 }
00061 };
00062
00063 class failRetrieve : public treeError
00064 {
00065 public:
00066 failRetrieve()
00067 {
00068 }
00069 virtual ~failRetrieve()
00070 {
00071 }
00072 virtual string ToString()
00073 {
00074 return "Failed to retrieve item.";
00075 }
00076 };
00077
00078 class dupItem : public treeError
00079 {
00080 public:
00081 dupItem()
00082 {
00083 }
00084 dupItem(person* p, person* dup)
00085 {
00086 m_person = p;
00087 m_dup = dup;
00088 }
00089
00090 virtual ~dupItem()
00091 {
00092 }
00093 virtual string ToString()
00094 {
00095 return "Item is a duplicate in bsTree.";
00096 }
00097
00098 person* getPerson() const
00099 {
00100 return m_person;
00101 }
00102
00103 person* getDuplicate() const
00104 {
00105 return m_dup;
00106 }
00107 private:
00108 person* m_person;
00109 person* m_dup;
00110 };
00111
00112 class queryError : public baseError
00113 {
00114 public:
00115 queryError()
00116 {
00117 }
00118 virtual ~queryError()
00119 {
00120 }
00121 virtual string ToString()
00122 {
00123 return "An error occoured in the query class.";
00124 }
00125 };
00126
00127 class invalidSearch : public queryError
00128 {
00129 public:
00130 invalidSearch()
00131 {
00132 }
00133
00134 virtual ~invalidSearch()
00135 {
00136 }
00137
00138 virtual string ToString()
00139 {
00140 return "Invalid search.";
00141 }
00142 };
00143
00144 class notFound : public queryError
00145 {
00146 public:
00147 notFound()
00148 {
00149 }
00150
00151 virtual ~notFound()
00152 {
00153 }
00154
00155 virtual string ToString()
00156 {
00157 return "Nobody found.";
00158 }
00159 };
00160
00161
00162 }
00163
00164 #endif