exceptions.py
92 lines
| 1.9 KiB
| text/x-python
|
PythonLexer
Matt Harbison
|
r50538 | # SPDX-License-Identifier: MIT | ||
Siddharth Agarwal
|
r34398 | |||
Matt Harbison
|
r50538 | class FrozenError(AttributeError): | ||
Siddharth Agarwal
|
r34398 | """ | ||
Matt Harbison
|
r50538 | A frozen/immutable instance or attribute have been attempted to be | ||
modified. | ||||
Siddharth Agarwal
|
r34398 | |||
It mirrors the behavior of ``namedtuples`` by using the same error message | ||||
Matt Harbison
|
r50538 | and subclassing `AttributeError`. | ||
.. versionadded:: 20.1.0 | ||||
""" | ||||
msg = "can't set attribute" | ||||
args = [msg] | ||||
class FrozenInstanceError(FrozenError): | ||||
""" | ||||
A frozen instance has been attempted to be modified. | ||||
Siddharth Agarwal
|
r34398 | |||
.. versionadded:: 16.1.0 | ||||
""" | ||||
Matt Harbison
|
r50538 | |||
class FrozenAttributeError(FrozenError): | ||||
""" | ||||
A frozen attribute has been attempted to be modified. | ||||
.. versionadded:: 20.1.0 | ||||
""" | ||||
Siddharth Agarwal
|
r34398 | |||
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 | ||||
""" | ||||
Matt Harbison
|
r50538 | |||
class UnannotatedAttributeError(RuntimeError): | ||||
""" | ||||
A class with ``auto_attribs=True`` has an ``attr.ib()`` without a type | ||||
annotation. | ||||
.. versionadded:: 17.3.0 | ||||
""" | ||||
class PythonTooOldError(RuntimeError): | ||||
""" | ||||
It was attempted to use an ``attrs`` feature that requires a newer Python | ||||
version. | ||||
.. versionadded:: 18.2.0 | ||||
""" | ||||
class NotCallableError(TypeError): | ||||
""" | ||||
A ``attr.ib()`` requiring a callable has been set with a value | ||||
that is not callable. | ||||
.. versionadded:: 19.2.0 | ||||
""" | ||||
def __init__(self, msg, value): | ||||
super(TypeError, self).__init__(msg, value) | ||||
self.msg = msg | ||||
self.value = value | ||||
def __str__(self): | ||||
return str(self.msg) | ||||