On 14/10/2012 11:06, Terry Reedy wrote:
On 10/14/2012 4:20 AM, Mark Lawrence wrote:

You've already had some advice so I'll just point out that a bare except
is a bad idea as you wouldn't even be able to catch a user interrupt.
Try (groan!) catching StandardError instead.

There are some bare except:s in the stdlib, that adding another is
frowned on and removing one is smiled upon.

However:
 >>> StandardError
Traceback (most recent call last):
   File "<pyshell#0>", line 1, in <module>
     StandardError
NameError: name 'StandardError' is not defined

Try:
 >>> Exception
<class 'Exception'>

This catches everything except a few things like Keyboard Interrupt that
you normally should not catch.

 >>> BaseException
<class 'BaseException'>

This catches everything, but signals that doing so is probably intentional.


White Man type with forked fingers?

c:\Users\Mark\Cash\Python>python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> StandardError
<type 'exceptions.StandardError'>

Perhaps not.

c:\Users\Mark\Cash\Python>py -3
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> StandardError
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'StandardError' is not defined

Down to this http://www.python.org/dev/peps/pep-3151/ or was it done earlier?

--
Cheers.

Mark Lawrence.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to