aboutsummaryrefslogtreecommitdiffstats
path: root/common/network
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2024-09-02 22:58:35 +0200
committerPierre Ossman <ossman@cendio.se>2024-11-06 21:06:27 +0100
commit1d9b2f9984fefbc050c8e3295397ffd280e41788 (patch)
treec6fa8a4f5e0e6fbc0e165c2bd80b2c81a48bf6bc /common/network
parent5c3588c464520a4757bfc20974090e21af220cdc (diff)
downloadtigervnc-1d9b2f9984fefbc050c8e3295397ffd280e41788.tar.gz
tigervnc-1d9b2f9984fefbc050c8e3295397ffd280e41788.zip
Use standard exception classes
Use the more specific already included exception classes for common errors to keep things more understandable.
Diffstat (limited to 'common/network')
-rw-r--r--common/network/Socket.cxx2
-rw-r--r--common/network/TcpSocket.cxx18
-rw-r--r--common/network/UnixSocket.cxx3
3 files changed, 16 insertions, 7 deletions
diff --git a/common/network/Socket.cxx b/common/network/Socket.cxx
index 8bb96763..03844acd 100644
--- a/common/network/Socket.cxx
+++ b/common/network/Socket.cxx
@@ -39,6 +39,8 @@
#include <fcntl.h>
#include <errno.h>
+#include <rdr/Exception.h>
+
#include <network/Socket.h>
using namespace network;
diff --git a/common/network/TcpSocket.cxx b/common/network/TcpSocket.cxx
index 38cb6eb3..455df749 100644
--- a/common/network/TcpSocket.cxx
+++ b/common/network/TcpSocket.cxx
@@ -38,7 +38,10 @@
#include <stdlib.h>
#include <unistd.h>
+#include <rdr/Exception.h>
+
#include <network/TcpSocket.h>
+
#include <rfb/LogWriter.h>
#include <rfb/Configuration.h>
#include <rfb/util.h>
@@ -200,7 +203,7 @@ TcpSocket::TcpSocket(const char *host, int port)
if (sock == -1) {
if (err == 0)
- throw Exception("No useful address for host");
+ throw std::runtime_error("No useful address for host");
else
throw SocketException("unable to connect to socket", err);
}
@@ -607,7 +610,7 @@ TcpFilter::Pattern TcpFilter::parsePattern(const char* p) {
parts = rfb::split(&p[1], '/');
if (parts.size() > 2)
- throw Exception("invalid filter specified");
+ throw std::invalid_argument("invalid filter specified");
if (parts[0].empty()) {
// Match any address
@@ -641,8 +644,8 @@ TcpFilter::Pattern TcpFilter::parsePattern(const char* p) {
if (parts.size() > 1) {
if (family == AF_INET &&
(parts[1].find('.') != std::string::npos)) {
- throw Exception("mask no longer supported for filter, "
- "use prefix instead");
+ throw std::invalid_argument("mask no longer supported for "
+ "filter, use prefix instead");
}
pattern.prefixlen = (unsigned int) atoi(parts[1].c_str());
@@ -655,7 +658,7 @@ TcpFilter::Pattern TcpFilter::parsePattern(const char* p) {
pattern.prefixlen = 128;
break;
default:
- throw Exception("unknown address family");
+ throw std::runtime_error("unknown address family");
}
}
}
@@ -663,8 +666,9 @@ TcpFilter::Pattern TcpFilter::parsePattern(const char* p) {
family = pattern.address.u.sa.sa_family;
if (pattern.prefixlen > (family == AF_INET ? 32: 128))
- throw Exception(rfb::format("invalid prefix length for filter address: %u",
- pattern.prefixlen));
+ throw std::invalid_argument(rfb::format("invalid prefix length for "
+ "filter address: %u",
+ pattern.prefixlen));
// Compute mask from address and prefix length
memset (&pattern.mask, 0, sizeof (pattern.mask));
diff --git a/common/network/UnixSocket.cxx b/common/network/UnixSocket.cxx
index 3a422b6c..4b82b4b7 100644
--- a/common/network/UnixSocket.cxx
+++ b/common/network/UnixSocket.cxx
@@ -29,7 +29,10 @@
#include <stdlib.h>
#include <stddef.h>
+#include <rdr/Exception.h>
+
#include <network/UnixSocket.h>
+
#include <rfb/LogWriter.h>
using namespace network;