summaryrefslogtreecommitdiffstats
path: root/src/pendulum/tz/exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/pendulum/tz/exceptions.py')
-rw-r--r--src/pendulum/tz/exceptions.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/pendulum/tz/exceptions.py b/src/pendulum/tz/exceptions.py
new file mode 100644
index 0000000..d06c133
--- /dev/null
+++ b/src/pendulum/tz/exceptions.py
@@ -0,0 +1,33 @@
+from __future__ import annotations
+
+from typing import TYPE_CHECKING
+
+
+if TYPE_CHECKING:
+ from datetime import datetime
+
+
+class TimezoneError(ValueError):
+ pass
+
+
+class InvalidTimezone(TimezoneError):
+ pass
+
+
+class NonExistingTime(TimezoneError):
+ message = "The datetime {} does not exist."
+
+ def __init__(self, dt: datetime) -> None:
+ message = self.message.format(dt)
+
+ super().__init__(message)
+
+
+class AmbiguousTime(TimezoneError):
+ message = "The datetime {} is ambiguous."
+
+ def __init__(self, dt: datetime) -> None:
+ message = self.message.format(dt)
+
+ super().__init__(message)