diff --git a/src/peer_discovery.cpp b/src/peer_discovery.cpp
index f78868fe89034d5683ce61214c8102cb277890ae..038b3e2dbfd27d7b6da45cce1c17c524f5337c2a 100644
--- a/src/peer_discovery.cpp
+++ b/src/peer_discovery.cpp
@@ -201,7 +201,11 @@ void
 PeerDiscovery::sender_thread()
 {
     while(true) {
-        sendTo(data_send_.data(), data_send_.size());
+        try {
+            sendTo(data_send_.data(), data_send_.size());
+        } catch (const std::exception& e) {
+            std::cerr << e.what() << std::endl;
+        }
         {
             std::unique_lock<std::mutex> lck(mtx_);
             if (cv_.wait_for(lck,std::chrono::seconds(3),[&]{ return !running_; }))