Message264198
| Author |
Valentin.Lorentz |
| Recipients |
Valentin.Lorentz |
| Date |
2016年04月25日.19:56:07 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1461614167.42.0.470146541912.issue26845@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
In Python/errors.c, PyErr_Restore is defined this way:
void
PyErr_Restore(PyObject *type, PyObject *value, PyObject *traceback)
In Python/ceval.c, in the END_FINALLY case, it is called like this:
PyErr_Restore(status, exc, tb);
I believe "exc" should be renamed to "val".
Indeed, END_FINALLY pops values from the stack like this:
PyObject *status = POP();
// ...
else if (PyExceptionClass_Check(status)) {
PyObject *exc = POP();
PyObject *tb = POP();
PyErr_Restore(status, exc, tb);
And, they are pushed like this, in fast_block_end:
PUSH(tb);
PUSH(val);
PUSH(exc); |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2016年04月25日 19:56:07 | Valentin.Lorentz | set | recipients:
+ Valentin.Lorentz |
| 2016年04月25日 19:56:07 | Valentin.Lorentz | set | messageid: <1461614167.42.0.470146541912.issue26845@psf.upfronthosting.co.za> |
| 2016年04月25日 19:56:07 | Valentin.Lorentz | link | issue26845 messages |
| 2016年04月25日 19:56:07 | Valentin.Lorentz | create |
|