Issue #5971: StreamHandler.handleError now swallows IOErrors which occur when trying to print a traceback.
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index 7cddd9f..c1678b7 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -720,8 +720,12 @@
         """
         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 361950b..0717458 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -40,6 +40,9 @@
 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.