Hen or Hanna, You keep asking WHY which may be reasonable but hard or irrelevant in many cases.
I find the traceback perfectly informative. It says you asked it to print NOT just "a" but "a + 12" and the error is coming not from PRINT but from trying to invoke addition between two objects that have not provided instructions on how to do so. Specifically, an object of type str has not specified anything to do if asked to concatenate an object of type int to it. And, an object of type int has not specified what to do if asked to add itself to an object of type str to the left of it. Deeper in python, the objects have dunder methods like __ADD__() and ___RADD__() to invoke for those situations that do some logic and decide they cannot handle it and return an exception of sorts that ends up generating your message. If you want to know what "a" has at the moment, ask for just it, not adding twelve to it. Perhaps you should add a line above your print asking to just print(a). Before you suggest what might be helpful, consider what it might mean in a complex case with lots of variables and what work the interpreter might have to do to dump the current values of anything relevant or just ANYTHING. The way forward is less about asking why but asking what to do to get what you want, or realize it is not attained the way you thought. Avi -----Original Message----- From: Python-list <python-list-bounces+avi.e.gross=gmail....@python.org> On Behalf Of Hen Hanna Sent: Wednesday, February 22, 2023 3:05 PM To: python-list@python.org Subject: Why doesn't Python (error msg) tell me WHAT the actual (arg) values are ? > 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.) -- https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list