On 1/16/2014 7:34 AM, Ernest Adrogué wrote:
Hi,

There seems to be some inconsistency in the way exceptions handle Unicode
strings.  For instance, KeyError seems to not have a problem with them

raise KeyError('a')
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
KeyError: 'a'
raise KeyError(u'ä')
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
KeyError: u'\xe4'

On the other hand ValueError doesn't print anything.

raise ValueError('a')
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
ValueError: a
raise ValueError(u'ä')
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
ValueError

I'm using Python 2.7.6 on a Unix machine.

Fixed at some point in 3.x. In 3.4b2:
>>> ValueError(b'a')
ValueError(b'a',)
>>> ValueError('a')
ValueError('a',)



--
Terry Jan Reedy


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to