From 073a868f21747db5b0550c46d74456816e83ef00 Mon Sep 17 00:00:00 2001 From: Tristan Matthews <tristan.matthews@savoirfairelinux.com> Date: Thu, 2 Feb 2012 00:02:22 -0500 Subject: [PATCH] dbus: added some exception handling --- daemon/src/dbus/dbusmanager.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/daemon/src/dbus/dbusmanager.cpp b/daemon/src/dbus/dbusmanager.cpp index 5d273fab90..becd522679 100644 --- a/daemon/src/dbus/dbusmanager.cpp +++ b/daemon/src/dbus/dbusmanager.cpp @@ -80,11 +80,27 @@ DBusManager::~DBusManager() void DBusManager::exec() { - dispatcher_.enter(); + try { + dispatcher_.enter(); + } catch (const DBus::Error &err) { + ERROR("%s: %s, exiting\n", err.name(), err.what()); + ::exit(EXIT_FAILURE); + } catch (const std::exception &err) { + ERROR("%s: %s, exiting\n", err.what()); + ::exit(EXIT_FAILURE); + } } void DBusManager::exit() { - dispatcher_.leave(); + try { + dispatcher_.leave(); + } catch (const DBus::Error &err) { + ERROR("%s: %s, exiting\n", err.name(), err.what()); + ::exit(EXIT_FAILURE); + } catch (const std::exception &err) { + ERROR("%s: %s, exiting\n", err.what()); + ::exit(EXIT_FAILURE); + } } -- GitLab