Why doesn't Python (error msg) tell me WHAT the actual (arg) values are ?

Barry barry at barrys-emacs.org
Thu Feb 23 02:57:09 EST 2023



> On 23 Feb 2023, at 01:39, Hen Hanna <henhanna at gmail.com> wrote:
> 
> On Wednesday, February 22, 2023 at 3:46:21 PM UTC-8, Hen Hanna wrote:
>> On Wednesday, February 22, 2023 at 12:05:34 PM UTC-8, Hen Hanna wrote: 
>>>> py bug.py 
>>> Traceback (most recent call last): 
>>> File "C:\Usenet\bug.py", line 5, in <module> 
>>> print( a + 12 ) 
>>> TypeError: can only concatenate str (not "int") to str 
>>> 
>>> 
>>> Why doesn't Python (error msg) do the obvious thing and tell me 
>>> WHAT the actual (offending, arg) values are ? 
>>> 
>>> In many cases, it'd help to know what string the var A had , when the error occurred. 
>>> ------------ i wouldn't have to put print(a) just above, to see. 
>>> 
>>> 
>>> 
>>> 
>>> ( pypy doesn't do that either, but Python makes programming (debugging) so easy that i hardly feel any inconvenience.)
> 
> 
> i see that my example would be (even)  clearER with this one-line change:
> 
>           py bug.py 
> 
>         Traceback (most recent call last): 
> 
>           File "C:\Usenet\bug.py", line 5, in <module>
>                         map( Func, fooBar( X, Y, X + Y ))
> 
>         TypeError: can only concatenate str (not "int") to str
>                            attempt to call +  with      'abc'  ,   123.45  <--------------
> 
>> i hope that NOW a few of you can see this as a genuine, (reasonable) question.
> 
> Python  seems so perfectly  User-friendly that
>                   i 'm  so curious (puzzled)  that it doesn't do the very  obvious and easy thing 
>                 of giving me this info:
> 
>                            attempt to call      +     with      'abc'  ,   123.45  <--------------

It is not easy to do that in a robust and reliable way for any object.
You can end up in the code to generate the error message itself breaking.
For example using unbounded CPU time when attempting to get the string repr of the variable.

Barry

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



More information about the Python-list mailing list