bpo-34538: Remove Exception subclassing from tutorial (GH-30361)

Remove the bit about subclassing exceptions.

Documentation PR can skip the NEWS label.

Automerge-Triggered-By: GH:iritkatriel
This commit is contained in:
Hugo van Kemenade 2022-01-04 00:52:09 +02:00 committed by GitHub
parent 770f43d47e
commit 2db5613063
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -329,41 +329,7 @@ be derived from the :exc:`Exception` class, either directly or indirectly.
Exception classes can be defined which do anything any other class can do, but
are usually kept simple, often only offering a number of attributes that allow
information about the error to be extracted by handlers for the exception. When
creating a module that can raise several distinct errors, a common practice is
to create a base class for exceptions defined by that module, and subclass that
to create specific exception classes for different error conditions::
class Error(Exception):
"""Base class for exceptions in this module."""
pass
class InputError(Error):
"""Exception raised for errors in the input.
Attributes:
expression -- input expression in which the error occurred
message -- explanation of the error
"""
def __init__(self, expression, message):
self.expression = expression
self.message = message
class TransitionError(Error):
"""Raised when an operation attempts a state transition that's not
allowed.
Attributes:
previous -- state at beginning of transition
next -- attempted new state
message -- explanation of why the specific transition is not allowed
"""
def __init__(self, previous, next, message):
self.previous = previous
self.next = next
self.message = message
information about the error to be extracted by handlers for the exception.
Most exceptions are defined with names that end in "Error", similar to the
naming of the standard exceptions.