On Wed, 2006-12-27 at 12:13 -0800, tac-tics wrote:
> I have a program which has a GUI front-end which that runs a separate
> thread to handle all the important stuff. However, if there is a
> problem with the important stuff, I want the GUI to raise a MessageBox
> alert to indicate this.
> 
> For exceptions, I can simply use a catch-all except statement like:
> 
> try:
>     ...
> except Exception, error:
>     JOptionPane.showMessageDialog(self, "Error: %s" % error)
> 
> Only, I want it to catch Errors as well. Right now, I'm using:
> 
> try:
>     ...
> except (Exception, TypeError, NameError, RuntimeError, AttributeError),
> error:
>     JOptionPane.showMessageDialog(self, "Error: %s" % error)
> 
> I was wondering if there is a superclass for TypeError, NameError,
> RuntimeError, AttributeError, etc.

Yes, that superclass is Exception:

>>> for klass in (TypeError, NameError, RuntimeError, AttributeError):
...   print klass, issubclass(klass, Exception)
...
exceptions.TypeError True
exceptions.NameError True
exceptions.RuntimeError True
exceptions.AttributeError True

Have you encountered many TypeError, NameError, RuntimeError or
AttributeError exceptions that "except Exception" by itself failed to
catch?

-Carsten


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

Reply via email to