From 328eb92864f0a5a7a11dd8388619a4b716bea084 Mon Sep 17 00:00:00 2001 From: Facetoe Date: Thu, 3 Nov 2016 21:54:02 +0800 Subject: [PATCH] Catch all exceptions. --- i3pystatus/core/__init__.py | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/i3pystatus/core/__init__.py b/i3pystatus/core/__init__.py index ce9eb41..2bb4506 100644 --- a/i3pystatus/core/__init__.py +++ b/i3pystatus/core/__init__.py @@ -9,6 +9,7 @@ from i3pystatus.core.imputil import ClassFinder from i3pystatus.core.modules import Module DEFAULT_LOG_FORMAT = '%(asctime)s [%(levelname)-8s][%(name)s %(lineno)d] %(message)s' +log = logging.getLogger(__name__) class CommandEndpoint: @@ -106,26 +107,12 @@ class Status: if not module: return - err_colour = "#FF0000" try: return self.modules.append(module, *args, **kwargs) - except ImportError as import_error: - if import_error.name and not import_error.path and isinstance(module, str): - # This is a package/module not found exception raised by importing a module on-the-fly - return self.modules.append(Text( - color=err_colour, - text="{i3py_mod}: Missing Python module '{missing_module}'".format( - i3py_mod=module, - missing_module=import_error.name))) - else: - raise import_error - except ConfigError as configuration_error: - return self.modules.append(Text( - color=err_colour, - text=configuration_error.message)) except Exception as e: + log.exception(e) return self.modules.append(Text( - color=err_colour, + color="#FF0000", text="{i3py_mod}: Fatal Error - {ex}({msg})".format( i3py_mod=module, ex=e.__class__.__name__,