|
''' |
|
Custom exceptions raised by pytz. |
|
''' |
|
|
|
__all__ = [ |
|
'UnknownTimeZoneError', 'InvalidTimeError', 'AmbiguousTimeError', |
|
'NonExistentTimeError', |
|
] |
|
|
|
|
|
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) |
|
True |
|
|
|
This class is actually a subclass of KeyError to provide backwards |
|
compatibility with code relying on the undocumented behavior of earlier |
|
pytz releases. |
|
|
|
>>> isinstance(UnknownTimeZoneError(), KeyError) |
|
True |
|
|
|
And also a subclass of pytz.exceptions.Error, as are other pytz |
|
exceptions. |
|
|
|
>>> isinstance(UnknownTimeZoneError(), Error) |
|
True |
|
|
|
''' |
|
pass |
|
|
|
|
|
class InvalidTimeError(Error): |
|
'''Base class for invalid time exceptions.''' |
|
|
|
|
|
class AmbiguousTimeError(InvalidTimeError): |
|
'''Exception raised when attempting to create an ambiguous wallclock time. |
|
|
|
At the end of a DST transition period, a particular wallclock time will |
|
occur twice (once before the clocks are set back, once after). Both |
|
possibilities may be correct, unless further information is supplied. |
|
|
|
See DstTzInfo.normalize() for more info |
|
''' |
|
|
|
|
|
class NonExistentTimeError(InvalidTimeError): |
|
'''Exception raised when attempting to create a wallclock time that |
|
cannot exist. |
|
|
|
At the start of a DST transition period, the wallclock time jumps forward. |
|
The instants jumped over never occur. |
|
''' |
|
|