From 8e37d5df95535081426f5e7fe450695f6dcfe676 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Sat, 13 Apr 2013 14:49:48 -0400 Subject: [PATCH] #2118: Make SMTPException a subclass of IOError. Initial patch by Ned Jackson Lovely. --- Doc/library/smtplib.rst | 4 ++-- Doc/whatsnew/3.4.rst | 11 +++++++++++ Lib/smtplib.py | 2 +- Misc/NEWS | 2 ++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Doc/library/smtplib.rst b/Doc/library/smtplib.rst index 9593dea8116..04036dce4c0 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 75ac8ba6eb3..2b6193a2152 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 50a087c19b1..a5a9fd4c8de 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 c1634939f08..c6188de24b0 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.