aboutsummaryrefslogtreecommitdiffstats
path: root/python/attr/exceptions.py
diff options
context:
space:
mode:
authorJames Taylor <user234683@users.noreply.github.com>2019-02-16 23:41:52 -0800
committerJames Taylor <user234683@users.noreply.github.com>2019-02-16 23:41:52 -0800
commit3905e7e64059b45479894ba1fdfb0ef9cef64475 (patch)
tree4c5dbbfd204d0351cac8412cc87a65fea49c1a52 /python/attr/exceptions.py
parent24642455d0dc5841ddec99f456598c4f763c1e8a (diff)
downloadyt-local-3905e7e64059b45479894ba1fdfb0ef9cef64475.tar.lz
yt-local-3905e7e64059b45479894ba1fdfb0ef9cef64475.tar.xz
yt-local-3905e7e64059b45479894ba1fdfb0ef9cef64475.zip
basic subscriptions system
Diffstat (limited to 'python/attr/exceptions.py')
-rw-r--r--python/attr/exceptions.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/python/attr/exceptions.py b/python/attr/exceptions.py
new file mode 100644
index 0000000..b12e41e
--- /dev/null
+++ b/python/attr/exceptions.py
@@ -0,0 +1,57 @@
+from __future__ import absolute_import, division, print_function
+
+
+class FrozenInstanceError(AttributeError):
+ """
+ A frozen/immutable instance has been attempted to be modified.
+
+ It mirrors the behavior of ``namedtuples`` by using the same error message
+ and subclassing :exc:`AttributeError`.
+
+ .. versionadded:: 16.1.0
+ """
+
+ msg = "can't set attribute"
+ args = [msg]
+
+
+class AttrsAttributeNotFoundError(ValueError):
+ """
+ An ``attrs`` function couldn't find an attribute that the user asked for.
+
+ .. versionadded:: 16.2.0
+ """
+
+
+class NotAnAttrsClassError(ValueError):
+ """
+ A non-``attrs`` class has been passed into an ``attrs`` function.
+
+ .. versionadded:: 16.2.0
+ """
+
+
+class DefaultAlreadySetError(RuntimeError):
+ """
+ A default has been set using ``attr.ib()`` and is attempted to be reset
+ using the decorator.
+
+ .. versionadded:: 17.1.0
+ """
+
+
+class UnannotatedAttributeError(RuntimeError):
+ """
+ A class with ``auto_attribs=True`` has an ``attr.ib()`` without a type
+ annotation.
+
+ .. versionadded:: 17.3.0
+ """
+
+
+class PythonTooOldError(RuntimeError):
+ """
+ An ``attrs`` feature requiring a more recent python version has been used.
+
+ .. versionadded:: 18.2.0
+ """