Message152213
| Author |
ethan.furman |
| Recipients |
aronacher, catalin.iacob, draghuram, eric.araujo, ethan.furman, ezio.melotti, mrabarnett, ncoghlan, pitrou, poke, rhettinger, steven.daprano |
| Date |
2012年01月29日.07:37:23 |
| SpamBayes Score |
4.4964032e-15 |
| Marked as misclassified |
No |
| Message-id |
<1327822647.05.0.686082736493.issue6210@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
It looks like agreement is forming around the
raise ... from None
method. It has been mentioned more than once that having the context saved on the exception would be a Good Thing, and for further debugging (or logging or what-have-you) I must agree.
The patch attached now sets __cause__ to True, leaving __context__ unclobbered. The exception printing routine checks to see if __cause__ is True, and if so simply skips the display of either cause or __context__, but __context__ can still be queried by later code.
One concern raised was that since it is possible to write (even before this patch)
raise KeyError from NameError
outside of a try block that some would get into the habit of writing
raise KeyError from None
as a way of preemptively suppressing implicit context chaining; I am happy to report that this is not an issue, since when that exception is caught and a new exception raised, it is the new exception that controls the display.
In other words:
>>> try:
... raise ValueError from None
... except:
... raise NameError
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
ValueError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
NameError |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2012年01月29日 07:37:27 | ethan.furman | set | recipients:
+ ethan.furman, rhettinger, ncoghlan, pitrou, draghuram, aronacher, ezio.melotti, eric.araujo, mrabarnett, steven.daprano, poke, catalin.iacob |
| 2012年01月29日 07:37:27 | ethan.furman | set | messageid: <1327822647.05.0.686082736493.issue6210@psf.upfronthosting.co.za> |
| 2012年01月29日 07:37:26 | ethan.furman | link | issue6210 messages |
| 2012年01月29日 07:37:25 | ethan.furman | create |
|