From f694c9c34621f46b4a999e1670e413a93b0d1535 Mon Sep 17 00:00:00 2001 From: HelloZeroNet Date: Fri, 18 Mar 2016 19:19:59 +0100 Subject: [PATCH] Do not display non-error exceptions --- src/Debug/DebugHook.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Debug/DebugHook.py b/src/Debug/DebugHook.py index cfd97252..739d8e48 100644 --- a/src/Debug/DebugHook.py +++ b/src/Debug/DebugHook.py @@ -52,7 +52,12 @@ else: gevent.hub.Hub._original_handle_error = gevent.hub.Hub.handle_error def handleGreenletError(self, context, type, value, tb): - sys.excepthook(type, value, tb) + if isinstance(value, str): + # Cython can raise errors where the value is a plain string + # e.g., AttributeError, "_semaphore.Semaphore has no attr", + value = type(value) + if not issubclass(type, self.NOT_ERROR): + sys.excepthook(type, value, tb) gevent.hub.Hub.handle_error = handleGreenletError