[Python-Dev] more timely detection of unbound locals
Nick Coghlan
ncoghlan at gmail.com
Tue May 10 16:59:08 CEST 2011
On Tue, May 10, 2011 at 11:11 PM, R. David Murray <rdmurray at bitdance.com> wrote:
> How about:
>
> "reference to variable 'y' precedes an assignment that makes it a local
> variable"
For comparison, the error messages I was able to elicit from 2.7 were
as follows:
# Module level
NameError: name 'bob' is not defined
# Function level reference to implicit global
NameError: global name 'bob' is not defined
# Early reference to local
UnboundLocalError: local variable 'bob' referenced before assignment
# Early reference from closure
NameError: free variable 'bob' referenced before assignment in enclosing scope
Personally, I would just add "in current scope" to the existing error
message for the unbound local case (and potentially collapse the
exception hierarchy a bit by setting UnboundLocalError = NameError).
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Python-Dev
mailing list