]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Fix stack trace logging for uncaught RequestHandler exceptions.
authorBen Darnell <ben@bendarnell.com>
Tue, 28 Dec 2010 02:30:21 +0000 (18:30 -0800)
committerBen Darnell <ben@bendarnell.com>
Tue, 28 Dec 2010 02:30:21 +0000 (18:30 -0800)
_handle_request_exception is a private method, but since I've endorsed
overriding it on the mailing list preserve backwards compatibility by
re-raising the exception so it appears in sys.exc_info().

Closes #199.

tornado/web.py

index 70bd01136128a292d6e2c4970b62301052ede55d..d9e3c7e06f16ef0fe0914087ef1ba37f92800c78 100644 (file)
@@ -810,7 +810,14 @@ class RequestHandler(object):
         return self.application.reverse_url(name, *args)
 
     def _stack_context_handle_exception(self, type, value, traceback):
-        self._handle_request_exception(value)
+        try:
+            # For historical reasons _handle_request_exception only takes
+            # the exception value instead of the full triple,
+            # so re-raise the exception to ensure that it's in
+            # sys.exc_info()
+            raise type, value, traceback
+        except:
+            self._handle_request_exception(value)
         return True
 
     def _execute(self, transforms, *args, **kwargs):