[Numpy-discussion] better error message possible?

Paul Anton Letnes paul.anton.letnes at gmail.com
Mon Jun 4 10:28:55 EDT 2012


On 4. juni 2012, at 16:27, Thouis (Ray) Jones wrote:

> On Fri, Jun 1, 2012 at 6:56 PM, Chris Withers <chris at simplistix.co.uk> wrote:
>> On 01/06/2012 16:39, Benjamin Root wrote:
>>> 
>>> 
>>>      > >>> import numpy
>>>      > >>> numpy.zeros(10)[-123]
>>>      > Traceback (most recent call last):
>>>      >   File "<stdin>", line 1, in <module>
>>>      > IndexError: index out of bounds
>>>      >
>>>      > ...could say this:
>>>      >
>>>      > >>> numpy.zeros(10)[-123]
>>>      > Traceback (most recent call last):
>>>      >   File "<stdin>", line 1, in <module>
>>>      > IndexError: -123 is out of bounds
>>> 
>>>     Only that no-one has implemented it, I guess. If you want to then
>>>     that'd be cool :-).
>>> 
>>>     To be generally useful for debugging, it would probably be good for
>>>     the error message to also mention which dimension is involved, and/or
>>>     the actual size of the array in that dimension. You can also get such
>>>     error messages from expressions like 'arr[i, j, k]', after all, where
>>>     it's even less obvious what went wrong.
>>> 
>>>     -- Nathaniel
>>> 
>>> 
>>> +1, please!
>> 
>> Indeed, sadly I'm not a C developer. It's a pet bugbear of mine that
>> Python's built-in exceptions often tell you what went wrong but not what
>> data caused the error, even when it's easily to hand when raising the
>> exception.
> 
> I could look into this.  There are only ~10 places the code generates
> this error, so it should be a pretty minor change.
> 
> Ray Jones

Isn't it useful even if you change it in just one of those locations? Better to have the information available when you can, than to never have it.

Paul




More information about the NumPy-Discussion mailing list