Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Add errno to socket creation failed exception
- Loading branch information
Showing
with
10 additions
and
7 deletions.
-
+7
−4
src/socket.cpp
-
+3
−3
src/socket.h
|
@@ -44,8 +44,9 @@ with this program; if not, write to the Free Software Foundation, Inc., |
|
|
#include <windows.h> |
|
|
#include <winsock2.h> |
|
|
#include <ws2tcpip.h> |
|
|
typedef SOCKET socket_t; |
|
|
typedef int socklen_t; |
|
|
#define LAST_SOCKET_ERR() WSAGetLastError() |
|
|
typedef SOCKET socket_t; |
|
|
typedef int socklen_t; |
|
|
#else |
|
|
#include <sys/types.h> |
|
|
#include <sys/socket.h> |
|
@@ -54,7 +55,8 @@ typedef int socklen_t; |
|
|
#include <netdb.h> |
|
|
#include <unistd.h> |
|
|
#include <arpa/inet.h> |
|
|
typedef int socket_t; |
|
|
#define LAST_SOCKET_ERR() (errno) |
|
|
typedef int socket_t; |
|
|
#endif |
|
|
|
|
|
// Set to true to enable verbose debug output |
|
@@ -339,7 +341,8 @@ bool UDPSocket::init(bool ipv6, bool noExceptions) |
|
|
if (noExceptions) { |
|
|
return false; |
|
|
} else { |
|
|
throw SocketException("Failed to create socket"); |
|
|
throw SocketException(std::string("Failed to create socket: error ") |
|
|
+ itos(LAST_SOCKET_ERR())); |
|
|
} |
|
|
} |
|
|
|
|
|
|
@@ -45,7 +45,7 @@ extern bool socket_enable_debug_output; |
|
|
class SocketException : public BaseException |
|
|
{ |
|
|
public: |
|
|
SocketException(const char *s): |
|
|
SocketException(const std::string &s): |
|
|
BaseException(s) |
|
|
{ |
|
|
} |
|
@@ -54,7 +54,7 @@ class SocketException : public BaseException |
|
|
class ResolveError : public BaseException |
|
|
{ |
|
|
public: |
|
|
ResolveError(const char *s): |
|
|
ResolveError(const std::string &s): |
|
|
BaseException(s) |
|
|
{ |
|
|
} |
|
@@ -63,7 +63,7 @@ class ResolveError : public BaseException |
|
|
class SendFailedException : public BaseException |
|
|
{ |
|
|
public: |
|
|
SendFailedException(const char *s): |
|
|
SendFailedException(const std::string &s): |
|
|
BaseException(s) |
|
|
{ |
|
|
} |
|
|