X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Ffatal.hpp;h=85f0ac95a03d046e2b867e500b047db5f9d415dd;hb=921fa70d5f91d895881c19502503cd4bd4bcabde;hp=b64b3606e8da253770e183ba6efce2d9566be054;hpb=9c5fa1db34c5fb1ffed88742caeffa5a9afd0a9e;p=awesomized%2Flibmemcached diff --git a/libtest/fatal.hpp b/libtest/fatal.hpp index b64b3606..85f0ac95 100644 --- a/libtest/fatal.hpp +++ b/libtest/fatal.hpp @@ -43,8 +43,8 @@ public: // The following are just for unittesting the exception class static bool is_disabled(); - static bool disable(); - static bool enable(); + static void disable(); + static void enable(); static uint32_t disabled_counter(); static void increment_disabled_counter(); @@ -52,7 +52,31 @@ private: char _error_message[BUFSIZ]; }; +class disconnected : std::runtime_error +{ +public: + disconnected(const char *file, int line, const char *func, const char *instance, const in_port_t port, const char *format, ...); + + const char* what() const throw() + { + return _error_message; + } + + // The following are just for unittesting the exception class + static bool is_disabled(); + static void disable(); + static void enable(); + static uint32_t disabled_counter(); + static void increment_disabled_counter(); + +private: + char _error_message[BUFSIZ]; + in_port_t _port; + char _instance[1024]; +}; + } // namespace libtest -#define fatal_message(__mesg) libtest::fatal(LIBYATL_DEFAULT_PARAM, __mesg) +#define fatal_message(__mesg) throw libtest::fatal(LIBYATL_DEFAULT_PARAM, "%s", __mesg) +#define fatal_assert(__assert) if((__assert)) {} else { throw libtest::fatal(LIBYATL_DEFAULT_PARAM, "%s", #__assert); }