00001 #ifndef H_EXCEPTIONS 00002 #define H_EXCEPTIONS 00003 00004 #include <exception> 00005 #include <boost/exception/all.hpp> 00006 #include <boost/format.hpp> 00007 00008 namespace canopen{ 00009 00010 class Exception : public std::runtime_error { 00011 public: 00012 Exception(const std::string &w) : std::runtime_error(w) {} 00013 }; 00014 00015 class PointerInvalid : public Exception{ 00016 public: 00017 PointerInvalid(const std::string &w) : Exception("Pointer invalid") {} 00018 }; 00019 00020 class ParseException : public Exception{ 00021 public: 00022 ParseException(const std::string &w) : Exception(w) {} 00023 }; 00024 00025 class TimeoutException : public Exception{ 00026 public: 00027 TimeoutException(const std::string &w) : Exception(w) {} 00028 }; 00029 00030 00031 } // canopen 00032 00033 #endif // !H_EXCEPTIONS