[Python-Dev] Go \x yourself
Guido van Rossum
guido@beopen.com
2000年8月04日 10:11:03 -0500
> I'm quite certain that this should be a SyntaxError, not a ValueError:
>> >>> "\x1"
> SyntaxError: two hex digits are required after \x
> >>> "\x\x"
> SyntaxError: two hex digits are required after \x
>> Otherwise, +1. Sounds great.
No, problems with literal interpretations traditionally raise
"runtime" exceptions rather than syntax errors. E.g.
>>> 111111111111111111111111111111111111
OverflowError: integer literal too large
>>> u'\u123'
UnicodeError: Unicode-Escape decoding error: truncated \uXXXX
>>>
Note that UnicodeError is a subclass of ValueError.
--Guido van Rossum (home page: http://www.pythonlabs.com/~guido/)