O'Reilly logo

Python: Essential Reference, Third Edition by David Beazley

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Defining New Exceptions

All the built-in exceptions are defined in terms of classes. To create a new exception, create a new class definition that inherits from exceptions.Exception, such as the following:

import exceptions
# Exception class
class NetworkError(exceptions.Exception):
     def __init__(self,args=None):
        self.args = args

The name args should be used as shown. This allows the value used in the raise statement to be properly printed in tracebacks and other diagnostics. In other words,

raise NetworkError, "Cannot find host."

creates an instance of NetworkError using the following call:

NetworkError("Cannot find host.")

The object that is created will print itself as “NetworkError: Cannot find host.” If you use a name other than the

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required