/* */ #ifndef D_OPTION_HANDLER_EXCEPTION_H #define D_OPTION_HANDLER_EXCEPTION_H #include "RecoverableException.h" namespace aria2 { class OptionHandlerException:public RecoverableException { private: std::string optName_; static const std::string MESSAGE; protected: virtual SharedHandle copy() const; public: OptionHandlerException(const char* file, int line, const std::string& optName); OptionHandlerException(const char* file, int line, const std::string& optName, const Exception& cause); virtual ~OptionHandlerException() throw(); const std::string& getOptionName() const throw(); }; #define OPTION_HANDLER_EXCEPTION(arg) \ OptionHandlerException(__FILE__, __LINE__, arg) #define OPTION_HANDLER_EXCEPTION2(arg1, arg2) \ OptionHandlerException(__FILE__, __LINE__, arg1, arg2) } // namespace aria2 #endif // D_OPTION_HANDLER_EXCEPTION_EX_H