[Python-ideas] Arguments to exceptions

Terry Reedy tjreedy at udel.edu
Wed Jul 5 00:21:36 EDT 2017

On 7/4/2017 6:31 PM, Greg Ewing wrote:
> Terry Reedy wrote:
>> Attaching a *constant* string is very fast, to the consternation of 
>> people who would like the index reported.

Actually, the constant string should be attached to the class, so there 
is no time needed.

> Seems to me that storing the index as an attribute would help
> with this. It shouldn't be much slower than storing a constant
> string,

Given that the offending int is available as a Python int, then storing 
a reference should be quick, though slower than 0  (see above ;-).

> and formatting the message would be deferred until
> it's needed, if at all.

I agree that this would be the way to do it.  I will let an advocate of 
this enhancement lookup the rejected issue (there may be more than one) 
proposing to make the bad index available and see if this is the actual 
proposal rejected and if so, why (better than I may remember).

It occurs to me that if the exception object has no reference to any 
python object, then all would be identical and only one cached instance 
should be needed.  I checked and neither IndexError nor 
ZeroDivisionError do this.

Terry Jan Reedy

More information about the Python-ideas mailing list