summaryrefslogtreecommitdiff
path: root/Main/UserInterfaceException.h
diff options
context:
space:
mode:
Diffstat (limited to 'Main/UserInterfaceException.h')
-rw-r--r--Main/UserInterfaceException.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/Main/UserInterfaceException.h b/Main/UserInterfaceException.h
new file mode 100644
index 0000000..625fc37
--- /dev/null
+++ b/Main/UserInterfaceException.h
@@ -0,0 +1,36 @@
+/*
+ Copyright (c) 2008 TrueCrypt Developers Association. All rights reserved.
+
+ Governed by the TrueCrypt License 3.0 the full text of which is contained in
+ the file License.txt included in TrueCrypt binary and source code distribution
+ packages.
+*/
+
+#ifndef TC_HEADER_Main_UserInterfaceException
+#define TC_HEADER_Main_UserInterfaceException
+
+#include "Platform/Platform.h"
+
+namespace TrueCrypt
+{
+ TC_EXCEPTION_DECL (UserInterfaceException, Exception);
+ TC_EXCEPTION_DECL (MissingArgument, UserInterfaceException);
+ TC_EXCEPTION_DECL (NoItemSelected, UserInterfaceException);
+ TC_EXCEPTION_DECL (StringFormatterException, UserInterfaceException);
+
+ struct ErrorMessage : public UserInterfaceException
+ {
+ ErrorMessage (const string &exceptionMessage, const wxString &errorMessage) : UserInterfaceException (exceptionMessage), Text (errorMessage) { }
+ virtual ~ErrorMessage () throw () { }
+
+ operator wstring () const { return wstring (Text); }
+ operator wxString () const { return Text; }
+
+ protected:
+ wxString Text;
+ };
+
+#define throw_err(message) throw ErrorMessage (SRC_POS, (message))
+}
+
+#endif // TC_HEADER_Main_UserInterfaceException