[issue23763] Chain exceptions in C

2017-06-27 Thread STINNER Victor
STINNER Victor added the comment: I lost track of this issue and my PEP 490 was more and less rejected, so I just close this issue. I was decided that chaining or not exceptions should be done on a case by case basis. -- resolution: -> out of date stage: -> resolved status: open ->

[issue23763] Chain exceptions in C

2015-05-25 Thread STINNER Victor
Changes by STINNER Victor : -- versions: +Python 3.6 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://ma

[issue23763] Chain exceptions in C

2015-03-25 Thread STINNER Victor
STINNER Victor added the comment: Le mercredi 25 mars 2015, Serhiy Storchaka a écrit : > > I think it would be safer to defer automatically chaining exceptions to > 3.6. After releasing 3.5 we can got reports about exceptions ignored by > mistake. > Hum, what change can ignore exceptions by mis

[issue23763] Chain exceptions in C

2015-03-24 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: I think it would be safer to defer automatically chaining exceptions to 3.6. After releasing 3.5 we can got reports about exceptions ignored by mistake. After fixing all bugs not covered by the testsuite, we could try automatically chain exceptions. May be t

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
STINNER Victor added the comment: Sorry, I had issues with my local repository. Third try to upload pyerr_match_clear-2.patch for Rietveld. -- Added file: http://bugs.python.org/file38680/pyerr_match_clear-2.patch ___ Python tracker

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file38678/pyerr_match_clear-2.patch ___ Python tracker ___ ___ Python-bugs-li

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
STINNER Victor added the comment: pyerr_chain.patch: The real patch to chain automatically exceptions when using PyErr_*() functions. pyerr_match_clear-2.patch hides the original exception when it is useless, too low level like OverflowError when casting to C types, etc. Examples without pyerr_

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file38677/pyerr_match_clear-2.patch ___ Python tracker ___ ___ Python-bugs-li

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
STINNER Victor added the comment: Oh, I had a private local commit when I generated pyerr_match_clear-2.patch and so Rietveld failed to find the branch. I regenerated the patch. -- Added file: http://bugs.python.org/file38678/pyerr_match_clear-2.patch __

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
STINNER Victor added the comment: New issue #23770: "Rework of exceptions are handled in the parser module (in validate_repeating_list())" to fix error handling in the parser module. -- ___ Python tracker

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
STINNER Victor added the comment: pyerr_match_clear-2.patch: Updated patch, more complete (I also removed the assertions, I only added to debug). > Since my patch makes assumption on which exception is expected, it can change > the behaviour of functions if I forgot a different exception which

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
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

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
STINNER Victor added the comment: See also issue #21715: "Chaining exceptions at C level". The changeset 9af21752ea2a added the new _PyErr_ChainExceptions() function. -- nosy: +serhiy.storchaka ___ Python tracker

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
STINNER Victor added the comment: pyerr_match_assertion.patch: Modify PyErr_ExceptionMatches() to raise an exception if it is called with no exception set. This patch can be used to ensure that pyerr_match_clear.patch doesn't introduce regression. Example: -PyErr_Format(PyExc_TypeError,

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
STINNER Victor added the comment: > For the next step, I propose to explicitly clear the current exception before > raising a new exception. Attached pyerr_match_clear.patch implements this. It's only a work-in-progress. I prefer to get feedback on the patch before finishing it. The patch che

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
STINNER Victor added the comment: pyerr_assert.patch: modify PyErr_SetObject() and PyErr_Format() to fail with an assertion error if these functions are called with an exception set. This patch detects where an exception is raised while another exception was already raised (like "try: ... exce

[issue23763] Chain exceptions in C

2015-03-24 Thread STINNER Victor
New submission from STINNER Victor: In Python 3, it becomes possible to chain two exceptions. It's one of the killer feature of Python 3, it helps debugging. In Python, exceptions are chained by default. Example: try: raise TypeError("old message") except TypeError: ra