[Python-Dev] PEP 409 and the stdlib
Eric V. Smith
eric at trueblade.com
Mon May 20 21:31:48 CEST 2013
On May 20, 2013, at 11:46 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Mon, 20 May 2013 07:12:07 -0700
> Ethan Furman <ethan at stoneleaf.us> wrote:
>>
>> As a case in point, base64.py is currently getting a bug fix, and also contains this code:
>>
>> def b32decode(s, casefold=False, map01=None):
>> .
>> .
>> .
>> for i in range(0, len(s), 8):
>> quanta = s[i: i + 8]
>> acc = 0
>> try:
>> for c in quanta:
>> acc = (acc << 5) + b32rev[c]
>> except KeyError:
>> raise binascii.Error('Non-base32 digit found')
>> .
>> .
>> .
>> else:
>> raise binascii.Error('Incorrect padding')
>>
>> Does the KeyError qualify as irrelevant noise?
>
> I think it is a legitimate case where to silence the original
> exception. However, the binascii.Error would be more informative if it
> said *which* non-base32 digit was encountered.
>
And, if possible, the location (index) in the string.
Eric.
More information about the Python-Dev
mailing list