On Fri, 2004-06-25 at 05:20, Alex Martelli wrote: > On 2004 Jun 24, at 17:15, Jeremy Hylton wrote: > > > On Mon, 2004-06-21 at 01:22, "Martin v. Löwis" wrote: > >> "If no exception is active in the current scope, an exception is > >> raised > >> indicating this error." > >> > >> "This" error probably being "no active exception", not "exception must > >> not be NoneType". > > > > We can determine statically whether an exception would active in the > > current scope, right? If the raise does not occur within an except > > handler, then there is no active exception in the current scope. I > > think it should be a SyntaxError. > > Isn't the "raise" allowed to occur in a function that may be _called > from_ an except handler? E.g.: > > >>> def foo(): > ... print "do something here" > ... raise > ... > >>> try: 1/0 > ... except Exception: foo() The definition of what it means for an exception to be "active" in a scope needs to be clarified. The language reference doesn't appear to define what that means, so I took a narrow reading. I think the code you mention later in your post is code I wrote :-). Jeremy
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