STINNER Victor added the comment:

While working on the PEP 475, I modified _Py_fopen_obj() to raise the OSError 
(instead of raising the exception from the call site). The zipimport uses 
_Py_fopen_obj() but it didn't raise OSError, only ZipImportError. I modified 
the zipimport module to raise a chained exception: OSError chained to 
ZipImportError: see issue #23696.

Other functions using _PyErr_ChainExceptions():

- open() (io.open): if open() failed and f.close() raised an exception, chain 
the two exceptions
- io.FileIO.close
- io.TextIOWrapper.close
- io.BufferedReader.close, io.BufferedWriter.close
- _Py_CheckFunctionResult(), new function introduced in the issue #23571

----------

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

Reply via email to