Easier and more self documenting patterns for loading/saving Persistent
[python_utils.git] / exceptions.py
index 3ce94d365774422252ab591303907d31ff65d1ba..1d80e1337de6cddf8f31e3f800c769fac120ed68 100644 (file)
@@ -1,13 +1,31 @@
 #!/usr/bin/env python3
 
+# © Copyright 2021-2022, Scott Gasch
+
+"""Some general exceptions used elsewhere in the package."""
+
+# This module is commonly used by others in here and should avoid
+# taking any unnecessary dependencies back on them.
+
+
 class PreconditionException(AssertionError):
+    """Use to indicate function preconditions violated."""
+
     pass
 
 
 class PostconditionException(AssertionError):
+    """Use to indicate function postconditions violated."""
+
     pass
 
 
 class TimeoutError(Exception):
-    pass
+    """Use to indicate an operation that timed out."""
+
+    def __init__(self, value: str = "Timed out"):
+        super().__init__()
+        self.value = value
 
+    def __str__(self):
+        return repr(self.value)