[Python-Dev] Idea for avoiding exception masking

Greg Ewing greg@cosc.canterbury.ac.nz
Thu, 30 Jan 2003 09:53:01 +1300 (NZDT)


> So what would exception chaining mean for the C API?
> 
> PyErr_SetString(PyExc_TypeError, "wrong type");
> PyErr_SetString(PyExc_TypeError, "can't iterate");
> 
> The second call would normalize the first exception and attach
> it to the second as the cause attribute? But then the second
> exception would have to be normalized too.

To maintain delayed normalisation, there would have to
be a fourth global variable holding the current "cause"
(a normalised exception or None).

Greg Ewing, Computer Science Dept, +--------------------------------------+
University of Canterbury,	   | A citizen of NewZealandCorp, a	  |
Christchurch, New Zealand	   | wholly-owned subsidiary of USA Inc.  |
greg@cosc.canterbury.ac.nz	   +--------------------------------------+