diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index 7cddd9fd338..c1678b79e2d 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -720,8 +720,12 @@ class Handler(Filterer): """ if raiseExceptions: ei = sys.exc_info() - traceback.print_exception(ei[0], ei[1], ei[2], None, sys.stderr) - del ei + try: + traceback.print_exception(ei[0], ei[1], ei[2], None, sys.stderr) + except IOError: + pass # see issue 5971 + finally: + del ei class StreamHandler(Handler): """ diff --git a/Misc/NEWS b/Misc/NEWS index 361950b95d0..07174581486 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -40,6 +40,9 @@ Core and Builtins Library ------- +- Issue #5971: StreamHandler.handleError now swallows IOErrors which occur when + trying to print a traceback. + - Issue 5955: aifc's close method did not close the file it wrapped, now it does. This also means getfp method now returns the real fp.