MACE  1.0.0
 All Classes Namespaces Files Functions Variables Enumerations Defines
libs/reflect/include/mace/reflect/error.hpp
00001 #ifndef _MACE_REFLECT_ERROR_HPP_
00002 #define _MACE_REFLECT_ERROR_HPP_
00003 
00004 namespace mace { namespace reflect {
00005 
00006     typedef boost::error_info<struct err_msg_,std::string> err_msg;
00007     
00011     class bad_value_cast : public std::bad_cast {
00012         public:
00013             virtual const char * what() const throw() {
00014                 return "mace::reflect::bad_value_cast: "
00015                        "failed conversion using mace::value";
00016             }
00017     };
00021     class unknown_field : public virtual boost::exception, public virtual std::exception {
00022         public:
00023             virtual const char * what() const throw() {
00024                 return "mace::reflect::unknown_field: "
00025                        "attempted to access an unknown field";
00026             }
00027     };
00028 } } // mace::reflect
00029 #endif