On 8/5/05, Raymond Hettinger <raymond.hettinger at verizon.net> wrote: > > On 8/4/05, James Y Knight <foom at fuhm.net> wrote: > > > > +-- NamespaceError (rename of NameError) > > > > +-- UnboundFreeError (new) > > > > +-- UnboundGlobalError (new) > > > > +-- UnboundLocalError > > > > > > > > > > What are these new exceptions for? Under what circumstances are they > > > raised? Why is this necessary or an improvement? > > > > > > > Exceptions relating to when a name is not found in a specific > > namespace (directly related to bytecode). So UnboundFreeError is > > raised when the interpreter cannot find a variable that is a free > > variable. UnboundLocalError already exists. UnboundGlobalError is to > > prevent NameError from being overloaded. UnboundFreeError is to > > prevent UnboundLocalError from being overloaded > > Do we have any use cases for making the distinctions. I have NEVER had > a reason to write a different handler for the various types of > NameError. > > Also, everyone knows what a Global is. Can the same be said for Free? > I had thought that to be a implementation detail rather than part of the > language spec. > Perhaps then we should just ditch UnboundLocalError? If we just make sure we have good messages to go with the exceptions the reasons for the exception should be obvious. -Brett
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4