{
ERR << "Device " << device << " is not acceptable "
<< "for " << _url.getScheme() << std::endl;
- ZYPP_THROW(MediaBadUrlEmptyDestinationException(_url));
+ ZYPP_THROW(MediaBadUrlException(_url,
+ "Invalid device name in URL devices argument"
+ ));
}
}
if (pos!=string::npos)
std::ostream & MediaBadUrlException::dumpOn( std::ostream & str) const
{
- return str << "Malformed URL: " << _url << endl;
+ if( _msg.empty())
+ {
+ return str << "Malformed URL: " << _url << endl;
+ }
+ else
+ {
+ return str << _msg << ": " << _url << endl;
+ }
}
std::ostream & MediaBadUrlEmptyHostException::dumpOn( std::ostream & str) const
class MediaBadUrlException : public MediaException
{
public:
- MediaBadUrlException(const Url & url_r)
+ MediaBadUrlException(const Url & url_r,
+ const std::string &msg_r = std::string())
: MediaException()
, _url(url_r.asString())
+ , _msg(msg_r)
{}
virtual ~MediaBadUrlException() throw() {};
protected:
virtual std::ostream & dumpOn( std::ostream & str ) const;
std::string _url;
+ std::string _msg;
};
class MediaBadUrlEmptyHostException : public MediaBadUrlException