"""Exceptions and Error Handling"""
[docs]def assert_(condition, message='', exception_type=AssertionError):
"""Like assert, but with arbitrary exception types."""
if not condition:
raise exception_type(message)
# ------ VALUE ERRORS ------
[docs]class ShapeError(ValueError):
pass
[docs]class FrequencyValueError(ValueError):
pass
[docs]class DeviceError(ValueError):
pass
[docs]class NotSetError(ValueError):
pass
# ------ TYPE ERRORS ------
[docs]class NotTorchModuleError(TypeError):
pass
[docs]class FrequencyTypeError(TypeError):
pass
[docs]class DTypeError(TypeError):
pass
# ------ LOOKUP ERRORS ------
[docs]class ClassNotFoundError(LookupError):
pass
# ------ NOT-IMPLEMENTED ERRORS ------
[docs]class NotUnwrappableError(NotImplementedError):
pass