#define HH_AddressExceptions_ 1
// Custom includes
+#include "../Utils/Exception.hh"
//#include "AddressExceptions.mpp"
///////////////////////////////hh.p////////////////////////////////////////
namespace senf {
- /** \brief Base-class for INet4Address exceptions */
- struct AddressException : public std::exception {};
+ /** \brief Base-class for Address exceptions */
+ struct AddressException : public senf::Exception
+ {
+ protected:
+ AddressException(std::string const & msg)
+ : senf::Exception(msg) {}
+ };
- /** \brief Invalid INet4 address syntax */
+ /** \brief Invalid address syntax */
struct AddressSyntaxException : public AddressException
- { virtual char const * what() const throw()
- { return "invalid INet4 address syntax"; } };
+ {
+ AddressSyntaxException() : AddressException("invalid address syntax") {}
+ AddressSyntaxException(std::string const & msg) : AddressException(msg) {}
+ };
/** \brief Resolver failure */
struct UnknownHostnameException : public AddressException
- { virtual char const * what() const throw()
- { return "failed to resolve INet4 hostname"; } };
+ {
+ UnknownHostnameException() : AddressException("failed to resolve hostname") {}
+ UnknownHostnameException(std::string const & msg) : AddressException(msg) {}
+ };
}