From 238b4f65aba1677ec5a8138183852a7f87243a54 Mon Sep 17 00:00:00 2001 From: Stuart Bishop Date: Tue, 28 Apr 2020 17:44:45 +1000 Subject: Base class for all errors Closes #43 --- src/pytz/exceptions.py | 15 +++++++++++++-- src/pytz/tests/test_tzinfo.py | 1 + 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/pytz/exceptions.py b/src/pytz/exceptions.py index 18df33e..4b20bde 100644 --- a/src/pytz/exceptions.py +++ b/src/pytz/exceptions.py @@ -8,7 +8,11 @@ __all__ = [ ] -class UnknownTimeZoneError(KeyError): +class Error(Exception): + '''Base class for all exceptions raised by the pytz library''' + + +class UnknownTimeZoneError(KeyError, Error): '''Exception raised when pytz is passed an unknown timezone. >>> isinstance(UnknownTimeZoneError(), LookupError) @@ -20,11 +24,18 @@ class UnknownTimeZoneError(KeyError): >>> isinstance(UnknownTimeZoneError(), KeyError) True + + And also a subclass of pytz.exceptions.Error, as are other pytz + exceptions. + + >>> isinstance(UnknownTimeZoneError(), Error) + True + ''' pass -class InvalidTimeError(Exception): +class InvalidTimeError(Error): '''Base class for invalid time exceptions.''' diff --git a/src/pytz/tests/test_tzinfo.py b/src/pytz/tests/test_tzinfo.py index 7d759af..35430e8 100644 --- a/src/pytz/tests/test_tzinfo.py +++ b/src/pytz/tests/test_tzinfo.py @@ -859,6 +859,7 @@ def test_suite(): suite = unittest.TestSuite() suite.addTest(doctest.DocTestSuite('pytz')) suite.addTest(doctest.DocTestSuite('pytz.tzinfo')) + suite.addTest(doctest.DocTestSuite('pytz.exceptions')) import test_tzinfo suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(test_tzinfo)) return suite -- cgit v1.2.1