00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _adevs_exception_h_
00022 #define _adevs_exception_h_
00023 #include <string>
00024 #include <exception>
00025
00026 namespace adevs
00027 {
00028
00033 class exception: public std::exception
00034 {
00035 public:
00041 exception(const char* msg, void* model = NULL):
00042 std::exception(),
00043 msg(msg),
00044 model(model)
00045 {}
00049 exception(const adevs::exception& src):
00050 std::exception(src),
00051 msg(src.msg),
00052 model(src.model)
00053 {}
00057 const char* what() const throw()
00058 {
00059 return msg.c_str();
00060 }
00064 void* who() const { return model; }
00068 ~exception() throw(){}
00069 private:
00070 std::string msg;
00071 void* model;
00072 };
00073
00074 }
00075
00076 #endif
00077