[Python-Dev] PEP 293, Codec Error Handling Callbacks
Tue, 6 Aug 2002 07:34:22 +0300
On Mon, Aug 05, 2002 at 11:06:25PM +0200, Martin v. Loewis wrote:
> If you look at the patch, you see that it precisely does what you
> propose to do: add a callback to the charmap codec:
> - it deletes charmap_decoding_error
> - it adds state to feed the callback function
> - it replaces the old call to charmap_decoding_error by
But it's NOT an error. It's new encoding functionality. What if the new
functionality you've added this way has an error of its own? Perhaps you
would like to have a flag to tell it whether to ignore error or raise an
exception? Sorry, that argument has been taken over for another purpose.
The real problem was some missing functionality in codecs. Here are two
approaches to solve the problem:
1. Add the missing functionality.
2. Keep the old, limited functionality, let it fail, catch the error,
re-use an argument originally intended for an error handling strategy to
shoehorn a callback that can implement the missing functionality, add a new
name-based registry to overcome the fact that the argument must be a string.
Since this approach is conceptually stuck on treating it as an error it
actually creates and discards a new exception object for each character
converted via this path.
Ummm... <scratches head>, tough choice.