1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- # SPDX-License-Identifier: MIT
- from __future__ import annotations
- from typing import ClassVar
- class FrozenError(AttributeError):
- """
- A frozen/immutable instance or attribute have been attempted to be
- modified.
- It mirrors the behavior of ``namedtuples`` by using the same error message
- and subclassing `AttributeError`.
- .. versionadded:: 20.1.0
- """
- msg = "can't set attribute"
- args: ClassVar[tuple[str]] = [msg]
- class FrozenInstanceError(FrozenError):
- """
- A frozen instance has been attempted to be modified.
- .. versionadded:: 16.1.0
- """
- class FrozenAttributeError(FrozenError):
- """
- A frozen attribute has been attempted to be modified.
- .. versionadded:: 20.1.0
- """
- 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 when defining the field and is attempted to be reset
- using the decorator.
- .. versionadded:: 17.1.0
- """
- class UnannotatedAttributeError(RuntimeError):
- """
- A class with ``auto_attribs=True`` has a field 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 field 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)
|