[Python-Dev] getting rid of confusing "expected a character buffer object" messages
Fredrik Lundh
fredrik at pythonware.com
Sat May 27 17:51:51 CEST 2006
several string methods accepts either strings or objects that support
the buffer api, and ends up raising a "expected a character buffer
object" error if you pass in something else. this isn't exactly helpful
for non-experts -- the term "character buffer object" doesn't appear in
any python tutorials I've seen.
>>> "x".find(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: expected a character buffer object
I think should be fixed, but I cannot make up my mind on what's the best
way to fix it:
1. map all errors from PyObject_AsCharBuffer to "expected string
or compatible object", or some such.
2. modify PyObject_AsCharBuffer so it returns different negative
error codes depending on whether the object doesn't support the
protocol at all, or if something went wrong when using it.
3. to avoid changing the PyObject_AsCharBuffer return value, add a
PyObject_AsCharBufferEx that does the above
4. do something entirely different
5. fugetabotit
comments?
</F>
More information about the Python-Dev
mailing list