namespace senf {
- /** \brief Base-class for INet4Address exceptions */
+ /** \brief Base-class for Address exceptions */
struct AddressException : public senf::Exception
{
protected:
: senf::Exception(msg) {}
};
- /** \brief Invalid INet4 address syntax */
+ /** \brief Invalid address syntax */
struct AddressSyntaxException : public AddressException
- { AddressSyntaxException() : AddressException("invalid INet4 address syntax") {} };
+ {
+ AddressSyntaxException() : AddressException("invalid address syntax") {}
+ AddressSyntaxException(const std::string &addr)
+ : AddressException("Invalid address syntax (\"" + addr + "\")") {}
+ };
/** \brief Resolver failure */
struct UnknownHostnameException : public AddressException
- { UnknownHostnameException() : AddressException("failed to resolve INet4 hostname") {} };
+ {
+ UnknownHostnameException() : AddressException("failed to resolve hostname") {}
+ UnknownHostnameException(const std::string &hostname)
+ : AddressException("Failed to resolve hostname (\"" + hostname + "\")") {}
+ };
}