aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/main.cpp b/src/main.cpp
index be8d5e7..3ae2bcc 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -15,6 +15,7 @@
#include <CommCtrl.h>
#include <windowsx.h>
+#include <exception>
#include <string>
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
@@ -223,17 +224,25 @@ int APIENTRY wWinMain(
wchar_t*,
int)
{
- const auto ret = DialogBoxW(
- instance,
- MAKEINTRESOURCE(IDD_MAINDIALOG),
- NULL,
- dialog_main);
+ try
+ {
+ const auto ret = DialogBoxW(
+ instance,
+ MAKEINTRESOURCE(IDD_MAINDIALOG),
+ NULL,
+ dialog_main);
- switch (ret)
+ switch (ret)
+ {
+ case -1:
+ error::report(error::make("DialogBoxW"));
+ default:
+ return static_cast<int>(ret);
+ }
+ }
+ catch (const std::exception& e)
{
- case -1:
- error::report(error::make("DialogBoxW"));
- default:
- return static_cast<int>(ret);
+ error::report(e);
+ return 1;
}
}