PyArg_Parse weirds

Just van Rossum just at letterror.com
Tue Apr 24 14:11:56 EDT 2001


Michael Hudson wrote:
> 
> Robin Becker <robin at jessikat.fsnet.co.uk> writes:
> 
> > no I was testing for another possible value and when that fails I
> > try a secondd argument type; I just didn't realise that PyArg_Parse
> > would barf if an error was already set.
> 
> This is because there's no way to tell from the return value of
> PyDouble_FromDouble whether an error has occurred, so the code for
> PyArg_Parse has to check PyError_Occurred.

But then again: _any_ API may barf if it gets called while an exception
is set. You get similar troubles if you set an exception but don't return
NULL to Python. So I think it's good advice to _always_ do PyErr_Clear()
after you ignore an exception.

Just



More information about the Python-list mailing list