diff options
author | Brennan Ashton <bashton@brennanashton.com> | 2018-11-14 18:30:16 -0800 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2018-11-15 15:44:05 -0800 |
commit | d23fa96427c00bc2d149e6c55cf1f43ac956c213 (patch) | |
tree | e254281594ce571e64adb4108b46a1b02cc6682a /grc/core/FlowGraph.py | |
parent | f520e2af4fc41a09b068c2a5e771aba5af412582 (diff) |
grc: Log exceptions on namespace renewal
Diffstat (limited to 'grc/core/FlowGraph.py')
-rw-r--r-- | grc/core/FlowGraph.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/grc/core/FlowGraph.py b/grc/core/FlowGraph.py index 72d0594081..a47513d314 100644 --- a/grc/core/FlowGraph.py +++ b/grc/core/FlowGraph.py @@ -21,6 +21,8 @@ import collections import itertools import sys import types +import logging + from operator import methodcaller, attrgetter from . import Messages, blocks @@ -29,6 +31,8 @@ from .base import Element from .utils import expr_utils from .utils.backports import shlex +log = logging.getLogger(__name__) + class FlowGraph(Element): @@ -187,7 +191,8 @@ class FlowGraph(Element): for expr in self.imports(): try: exec(expr, namespace) - except: + except Exception: + log.exception('Failed to evaluate expression in namespace', exc_info=True) pass for id, expr in self.get_python_modules(): @@ -195,7 +200,8 @@ class FlowGraph(Element): module = types.ModuleType(id) exec(expr, module.__dict__) namespace[id] = module - except: + except Exception: + log.exception('Failed to evaluate expression in module {0}'.format(id), exc_info=True) pass # Load parameters @@ -204,7 +210,8 @@ class FlowGraph(Element): try: value = eval(parameter_block.params['value'].to_code(), namespace) np[parameter_block.name] = value - except: + except Exception: + log.exception('Failed to evaluate parameter block {0}'.format(parameter_block.name), exc_info=True) pass namespace.update(np) # Merge param namespace @@ -213,7 +220,8 @@ class FlowGraph(Element): try: value = eval(variable_block.value, namespace, variable_block.namespace) namespace[variable_block.name] = value - except: + except Exception: + log.exception('Failed to evaluate variable block {0}'.format(variable_block.name), exc_info=True) pass self.namespace.clear() |