[Python-Dev] Improve error message "UnboundLocalError: local variable referenced before assignment"
Ulrich Eckhardt
ulrich.eckhardt at dominolaser.com
Wed Nov 7 14:57:57 CET 2012
Am 31.10.2012 23:15, schrieb Steven D'Aprano:
> On 01/11/12 06:57, anatoly techtonik wrote:
> [...]
>> UnboundLocalError: local variable 'FONT_NAMES' referenced before
>> assignment
[...]
>> I wonder if this message can be improved with a
>> pointer to the concept on when global variables become local?
>
> If you have a suggestion for an improved message, please tell us.
I'll take a shot, since I was also bitten by this when trying to learn
Python. The important point is that some code earlier or later in that
function does an assignment, so this location should be referenced in
the error.
How about:
"UnboundLocalError: Local variable 'FONT_NAMES' (created on
line 11) referenced before assignment."
What I don't really like is the term "created". Maybe "implicitly
created on line 11"? Or "implied by line 11"? Or how about "Local
variable FONT_NAMES (implied by line 11) doesn't refer to an object", to
avoid the multiple interpretations of the term "assignment"?
=just my 2cc=
Uli
**************************************************************************************
Domino Laser GmbH, Fangdieckstra�e 75a, 22547 Hamburg, Deutschland
Gesch�ftsf�hrer: Hans Robert Dapprich, Amtsgericht Hamburg HR B62 932
**************************************************************************************
Visit our website at http://www.dominolaser.com
**************************************************************************************
Diese E-Mail einschlie�lich s�mtlicher Anh�nge ist nur f�r den Adressaten bestimmt und kann vertrauliche Informationen enthalten. Bitte benachrichtigen Sie den Absender umgehend, falls Sie nicht der beabsichtigte Empf�nger sein sollten. Die E-Mail ist in diesem Fall zu l�schen und darf weder gelesen, weitergeleitet, ver�ffentlicht oder anderweitig benutzt werden.
E-Mails k�nnen durch Dritte gelesen werden und Viren sowie nichtautorisierte �nderungen enthalten. Domino Laser GmbH ist f�r diese Folgen nicht verantwortlich.
**************************************************************************************
More information about the Python-Dev
mailing list