Robert Collins added the comment:

Oh, one nuance - the reason my except isn't triggering is that the write is 
happening in interpreter shutdown - in flush_std_files.

Adding a a flush there allows that to work, but its fugly:

---
import sys

try:
    print("What... is your quest?")
    # Workaround bug 24864: force the write to be immediate
    sys.stdout.flush()
except:
    sys.stderr.write("Exception in program.\n")
    e = sys.exc_info()[1]
    try:
        # Workaround bug 24864 close the file so flush_std_files doesn't run
        # during interpreter cleanup.
        sys.stdout.close()
    finally:
        raise e from None
        
---

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24864>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to