diff options
Diffstat (limited to 'src/Main/UserInterfaceException.h')
-rw-r--r-- | src/Main/UserInterfaceException.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/Main/UserInterfaceException.h b/src/Main/UserInterfaceException.h new file mode 100644 index 00000000..625fc37d --- /dev/null +++ b/src/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 |