aboutsummaryrefslogtreecommitdiffstats
path: root/common/rdr/Exception.h
diff options
context:
space:
mode:
authorAlex Tanskanen <aleta@cendio.com>2020-03-10 13:33:01 +0100
committerAlex Tanskanen <aleta@cendio.com>2020-03-17 14:46:20 +0100
commite52923415e55add9aa448ffcbb018a84fa39b742 (patch)
tree5ac63ed06a13c6a6a28e389ec051c4e82bfca2e4 /common/rdr/Exception.h
parent01ca961b0cf009a6f1e4603ad84b09d475b9f515 (diff)
downloadtigervnc-e52923415e55add9aa448ffcbb018a84fa39b742.tar.gz
tigervnc-e52923415e55add9aa448ffcbb018a84fa39b742.zip
Throw GAIException() for getaddrinfo errors
Created a new subclass of Exception called GAIException() that will handle error messages from getaddrinfo() instead of letting Exception() handle it. GAIException() will make use of gai_strerror() to map the error code to text. On Windows, gai_strerrorW() must be used if the text is encoded with UTF-8.
Diffstat (limited to 'common/rdr/Exception.h')
-rw-r--r--common/rdr/Exception.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/common/rdr/Exception.h b/common/rdr/Exception.h
index 69abbedb..eb3c8a9d 100644
--- a/common/rdr/Exception.h
+++ b/common/rdr/Exception.h
@@ -40,12 +40,17 @@ namespace rdr {
struct SystemException : public Exception {
int err;
SystemException(const char* s, int err_);
- };
+ };
+
+ struct GAIException : public Exception {
+ int err;
+ GAIException(const char* s, int err_);
+ };
struct TimedOut : public Exception {
TimedOut() : Exception("Timed out") {}
};
-
+
struct EndOfStream : public Exception {
EndOfStream() : Exception("End of stream") {}
};