"SM" == Skip Montanaro email@example.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:
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, 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/%7Eguido/)