
"SM" == Skip Montanaro <skip@pobox.com> writes:
SM> Taking a quick peek at my own code, the only place I see that SM> strings are raised is in code that works with ZServer SM> (e.g. "raise 'redirect'"). ---------------^^^^^^^^^^^^^^^
That's kind of scary Skip! I.e. I belive the following is /not/ guaranteed to work in any version of Python that I'm aware of:
try: raise 'foo' except 'foo': print 'foo caught'
because 'foo' is not (necessarily) 'foo'.
Much better to use:
FOOEXC = 'foo' try: raise FOOEXC except FOOEXC: print 'foo caught'
-Barry
Barry, he's doing what Zope tells him to do -- AFAIK Zope doesn't make identifiers available for these magic exceptions. It happens to work because string literals that look like identifiers are always intern()ed -- but the language doesn't guarantee this! --Guido van Rossum (home page: http://www.python.org/~guido/)