summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2013-04-13 18:49:48 (GMT)
committerR David Murray <rdmurray@bitdance.com>2013-04-13 18:49:48 (GMT)
commit8e37d5df95535081426f5e7fe450695f6dcfe676 (patch)
tree639ab44183299e0c6a0c9353f65be8e3b797f83d
parentc1d3daf58b8df00e680e91f0e568270ea8e85adb (diff)
downloadcpython-8e37d5df95535081426f5e7fe450695f6dcfe676.zip
cpython-8e37d5df95535081426f5e7fe450695f6dcfe676.tar.gz
cpython-8e37d5df95535081426f5e7fe450695f6dcfe676.tar.bz2
#2118: Make SMTPException a subclass of IOError.
Initial patch by Ned Jackson Lovely.
-rw-r--r--Doc/library/smtplib.rst4
-rw-r--r--Doc/whatsnew/3.4.rst11
-rw-r--r--Lib/smtplib.py2
-rw-r--r--Misc/NEWS2
4 files changed, 16 insertions, 3 deletions
diff --git a/Doc/library/smtplib.rst b/Doc/library/smtplib.rst
index 9593dea..04036dc 100644
--- a/Doc/library/smtplib.rst
+++ b/Doc/library/smtplib.rst
@@ -103,8 +103,8 @@ A nice selection of exceptions is defined as well:
.. exception:: SMTPException
- The base exception class for all the other excpetions provided by this
- module.
+ Subclass of :exc:`IOError` that is the base exception class for all
+ the other excpetions provided by this module.
.. exception:: SMTPServerDisconnected
diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
index 75ac8ba..2b6193a 100644
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -151,12 +151,23 @@ New Modules
Improved Modules
================
+
doctest
-------
Added ``FAIL_FAST`` flag to halt test running as soon as the first failure is
detected. (Contributed by R. David Murray and Daniel Urban in :issue:`16522`.)
+
+smtplib
+-------
+
+:exc:`~smtplib.SMTPException` is now a subclass of :exc:`IOError`, which allows
+both socket level errors and SMTP protocol level errors to be caught in one
+try/except statement by code that only cares whether or not an error occurred.
+(:issue:`2118`).
+
+
wave
----
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
index 50a087c..a5a9fd4 100644
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
@@ -66,7 +66,7 @@ bCRLF = b"\r\n"
OLDSTYLE_AUTH = re.compile(r"auth=(.*)", re.I)
# Exception classes used by this module.
-class SMTPException(Exception):
+class SMTPException(IOError):
"""Base class for all exceptions raised by this module."""
class SMTPServerDisconnected(SMTPException):
diff --git a/Misc/NEWS b/Misc/NEWS
index c163493..c6188de 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -42,6 +42,8 @@ Core and Builtins
Library
-------
+- Issue #2118: SMTPException is now a subclass of IOError.
+
- Issue #17016: Get rid of possible pointer wraparounds and integer overflows
in the re module. Patch by Nickolai Zeldovich.