From 198d858d590f9f968f554a6036275cbbd7f78907 Mon Sep 17 00:00:00 2001 From: Eric Frias Date: Sun, 24 Aug 2014 14:47:01 -0400 Subject: [PATCH] Wrap boost exceptions in fc exceptions for a few socket operations that can throw --- src/network/tcp_socket.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/network/tcp_socket.cpp b/src/network/tcp_socket.cpp index 184faaa..7604709 100644 --- a/src/network/tcp_socket.cpp +++ b/src/network/tcp_socket.cpp @@ -78,15 +78,23 @@ namespace fc { fc::ip::endpoint tcp_socket::remote_endpoint()const { - auto rep = my->_sock.remote_endpoint(); - return fc::ip::endpoint(rep.address().to_v4().to_ulong(), rep.port() ); + try + { + auto rep = my->_sock.remote_endpoint(); + return fc::ip::endpoint(rep.address().to_v4().to_ulong(), rep.port() ); + } + FC_RETHROW_EXCEPTIONS( warn, "error getting socket's remote endpoint" ); } fc::ip::endpoint tcp_socket::local_endpoint() const { - auto boost_local_endpoint = my->_sock.local_endpoint(); - return fc::ip::endpoint(boost_local_endpoint.address().to_v4().to_ulong(), boost_local_endpoint.port() ); + try + { + auto boost_local_endpoint = my->_sock.local_endpoint(); + return fc::ip::endpoint(boost_local_endpoint.address().to_v4().to_ulong(), boost_local_endpoint.port() ); + } + FC_RETHROW_EXCEPTIONS( warn, "error getting socket's local endpoint" ); } size_t tcp_socket::readsome( char* buf, size_t len ) {