- Catch exception thrown by resolver.resolve() and display the error message on stderr

This commit is contained in:
Christophe Dumez 2009-11-21 08:37:09 +00:00
parent e645133baf
commit 873221ec14

View file

@ -70,10 +70,14 @@ signals:
protected:
void run() {
boost::asio::ip::tcp::resolver::iterator it = resolver.resolve(ip);
if(stopped) return;
boost::asio::ip::tcp::endpoint endpoint = *it;
emit ip_resolved(misc::toQString(endpoint.address().to_string()), misc::toQString((*it).host_name()));
try {
boost::asio::ip::tcp::resolver::iterator it = resolver.resolve(ip);
if(stopped) return;
boost::asio::ip::tcp::endpoint endpoint = *it;
emit ip_resolved(misc::toQString(endpoint.address().to_string()), misc::toQString((*it).host_name()));
} catch(std::exception &e) {
std::cerr << "Hostname resolution failed, reason: " << e.what() << std::endl;
}
}
};