From 89e7afbf74ffbbb54dd892bf2c4245aedee2a832 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Tue, 9 Dec 2014 11:10:24 -0600 Subject: Remove blanket excepts from plugins and lint This removes most blanket except: clauses from all plugins, including the base plugin libraries, and bcfg2-lint. The few that remain should all be necessary. Most of the changes were quite minor, but this did require some restructuring of the CfgPrivateKeyCreator; as a result, the tests for that module were rewritten. --- src/lib/Bcfg2/Server/Plugin/interfaces.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/lib/Bcfg2/Server/Plugin/interfaces.py') diff --git a/src/lib/Bcfg2/Server/Plugin/interfaces.py b/src/lib/Bcfg2/Server/Plugin/interfaces.py index c45d6fa84..da39ac77a 100644 --- a/src/lib/Bcfg2/Server/Plugin/interfaces.py +++ b/src/lib/Bcfg2/Server/Plugin/interfaces.py @@ -445,8 +445,14 @@ class ThreadedStatistics(Statistics, Threaded, threading.Thread): except Empty: continue except: - err = sys.exc_info()[1] - self.logger.error("ThreadedStatistics: %s" % err) + # we want to catch all exceptions here so that a stray + # error doesn't kill the entire statistics thread. For + # instance, if a bad value gets pushed onto the queue + # and the assignment above raises TypeError, we want + # to report the error, ignore the bad value, and + # continue processing statistics. + self.logger.error("Unknown error processing statistics: %s" % + sys.exc_info()[1]) continue self.handle_statistic(client, xdata) if self.work_queue is not None and not self.work_queue.empty(): -- cgit v1.2.3-1-g7c22