Issue7252
Created on 2009-11-02 11:59 by djc, last changed 2009-11-02 16:15 by benjamin.peterson.
|
msg94825 - (view) |
Author: (djc) |
Date: 2009-11-02 11:59 |
|
>>> a = 'b'
>>> [].index(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.index(x): x not in list
This is suboptimal. IMO it would be much more useful if the ValueError
reported the actual value that wasn't in the list, like this:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.index('b'): 'b' not in list
The error in general doesn't really seem to fit in, repeating the code
but with a fake variable name in it. In real contexts, it's mostly just
repeating what's there on a previous line:
File "/home/watt/src/dawkins/ttlib.py", line 86, in shift
bits.append(SHIFTS.index(rest.split('_')[0]))
ValueError: list.index(x): x not in list
So maybe just make it "'b' not in list"? Or do we really need a
reference to the index() method in there?
|
|
msg94826 - (view) |
Author: (djc) |
Date: 2009-11-02 11:59 |
|
FWIW, quickly grepping through the raises of ValueErrors in the 2.6
stdlib doesn't bring up any other usage of repeat-with-fake-variable-x.
|
|
msg94830 - (view) |
Author: Benjamin Peterson (benjamin.peterson) |
Date: 2009-11-02 15:07 |
|
How's "object is not in list"?
|
|
msg94831 - (view) |
Author: (djc) |
Date: 2009-11-02 15:14 |
|
I want the actual value in there, though! So I can spot the bug.
|
|
msg94834 - (view) |
Author: Benjamin Peterson (benjamin.peterson) |
Date: 2009-11-02 16:15 |
|
r76058 should do the trick.
|
|
| Date |
User |
Action |
Args |
| 2009-11-02 16:15:37 | benjamin.peterson | set | status: open -> closed resolution: accepted messages:
+ msg94834
|
| 2009-11-02 15:14:20 | djc | set | messages:
+ msg94831 |
| 2009-11-02 15:07:50 | benjamin.peterson | set | nosy:
+ benjamin.peterson messages:
+ msg94830
|
| 2009-11-02 11:59:58 | djc | set | messages:
+ msg94826 |
| 2009-11-02 11:59:12 | djc | create | |
|