summaryrefslogtreecommitdiff
path: root/cpp/src/IcePatch/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IcePatch/Client.cpp')
-rw-r--r--cpp/src/IcePatch/Client.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/cpp/src/IcePatch/Client.cpp b/cpp/src/IcePatch/Client.cpp
index 1f8acce9955..a24bc493012 100644
--- a/cpp/src/IcePatch/Client.cpp
+++ b/cpp/src/IcePatch/Client.cpp
@@ -252,6 +252,15 @@ IcePatch::Client::run(int argc, char* argv[])
}
return EXIT_FAILURE;
}
+ catch(...)
+ {
+ cout << endl; // There might still be a non-terminated line on cout.
+ if(router)
+ {
+ router->shutdown();
+ }
+ throw; // Let Application::main() print the error message for this exception.
+ }
if(router)
{