1 /***************************************************************************
2 exception.hxx - exception classes
4 begin : Sat Oct 30 1999
5 copyright : (C) 1999 by STYLETEC
6 email : service@styletec.de
7 ***************************************************************************/
15 #define EXCEPTION(xname,xarg) xname(xarg,__LINE__,__FILE__,__DATE__ " " __TIME__)
16 #define EXCEPTION2(xname,xarg,xarg2) xname(xarg,xarg2,__LINE__,__FILE__,__DATE__ " " __TIME__)
18 class source_info_exception
22 const char* const file;
23 const char* const timestamp;
25 source_info_exception(const int l, const char* f, const char* t)
26 : line(l), file(f), timestamp(t)
30 class runtime_error_src : public std::runtime_error, public source_info_exception
33 runtime_error_src(const std::string& __arg,const int l, const char* f, const char* t)
34 : runtime_error(__arg), source_info_exception(l,f,t) {}
37 class network_error : public runtime_error_src
40 network_error(const std::string& __arg,const int l, const char* f, const char* t)
41 : runtime_error_src(__arg,l,f,t) {}
44 class network_server_error : public network_error
47 network_server_error(const std::string& __arg,const int l, const char* f, const char* t)
48 : network_error(__arg,l,f,t) {}
51 class CONNECTION_SOCKET;
53 class network_client_error : public network_error
56 CONNECTION_SOCKET *con;
58 network_client_error(const std::string& __arg,CONNECTION_SOCKET *c, const int l, const char* f, const char* t)
59 : network_error(__arg,l,f,t), con(c) {}
62 class database_error : public runtime_error_src
65 database_error(const std::string& __arg,const int l, const char* f, const char* t)
66 : runtime_error_src(__arg,l,f,t) {}
69 class database_query_error : public database_error
72 database_query_error(const std::string& __arg,const int l, const char* f, const char* t)
73 : database_error(__arg,l,f,t) {}
76 class signal_error : public runtime_error_src
79 signal_error(const std::string& __arg,const int l, const char* f, const char* t)
80 : runtime_error_src(__arg,l,f,t) {}
83 class pipestream_error : public runtime_error_src
86 pipestream_error(const std::string& __arg,const int l, const char* f, const char* t)
87 : runtime_error_src(__arg,l,f,t) {}
90 class insocketstream_error : public runtime_error_src
93 insocketstream_error(const std::string& __arg,const int l, const char* f, const char* t)
94 : runtime_error_src(__arg,l,f,t) {}
97 class variable_data_error : public runtime_error_src
100 variable_data_error(const std::string& __arg,const int l, const char* f, const char* t)
101 : runtime_error_src(__arg,l,f,t) {}
104 class variable_range_error : public variable_data_error
107 variable_range_error(const std::string& __arg,const int l, const char* f, const char* t)
108 : variable_data_error(__arg,l,f,t) {}
111 class variable_double_error : public variable_data_error
114 variable_double_error(const std::string& __arg,const int l, const char* f, const char* t)
115 : variable_data_error(__arg,l,f,t) {}
118 class variable_ip_error : public variable_data_error
121 variable_ip_error(const std::string& __arg,const int l, const char* f, const char* t)
122 : variable_data_error(__arg,l,f,t) {}
125 class variable_integrity_error : public variable_data_error
128 variable_integrity_error(const std::string& __arg,const int l, const char* f, const char* t)
129 : variable_data_error(__arg,l,f,t) {}
132 class variable_instance_error : public variable_data_error
135 variable_instance_error(const std::string& __arg,const int l, const char* f, const char* t)
136 : variable_data_error(__arg,l,f,t) {}
139 class variable_child_error : public variable_data_error
142 variable_child_error(const std::string& __arg,const int l, const char* f, const char* t)
143 : variable_data_error(__arg,l,f,t) {}
146 class variable_notfound_error : public variable_data_error
149 variable_notfound_error(const std::string& __arg,const int l, const char* f, const char* t)
150 : variable_data_error(__arg,l,f,t) {}
153 class autoupdate_error : public runtime_error_src
156 autoupdate_error(const std::string& __arg,const int l, const char* f, const char* t)
157 : runtime_error_src(__arg,l,f,t) {}
160 class scheduler_dir_error : public runtime_error_src
163 scheduler_dir_error(const std::string& __arg,const int l, const char* f, const char* t)
164 : runtime_error_src(__arg,l,f,t) {}
167 class scheduler_prog_error : public runtime_error_src
170 scheduler_prog_error(const std::string& __arg,const int l, const char* f, const char* t)
171 : runtime_error_src(__arg,l,f,t) {}
174 class logic_error_src : public std::logic_error, public source_info_exception
177 logic_error_src(const std::string& __arg,const int l, const char* f, const char* t)
178 : logic_error(__arg), source_info_exception(l,f,t) {}
181 class argument_error : public logic_error_src
184 argument_error(const std::string& __arg,const int l, const char* f, const char* t)
185 : logic_error_src(__arg,l,f,t) {}
188 class message_error : public logic_error_src
191 message_error(const std::string& __arg,const int l, const char* f, const char* t)
192 : logic_error_src(__arg,l,f,t) {}
195 class variable_error : public logic_error_src
198 variable_error(const std::string& __arg,const int l, const char* f, const char* t)
199 : logic_error_src(__arg,l,f,t) {}