Skip to content

Errors reference

All public exceptions inherit from TLDecPyError and carry a message and optional hint string. Call .to_detail() to get a serialisable ErrorDetail payload.

try:
    tl.fit_multi(T, I, peaks=[], bg=None)
except tl.TLDecPyError as exc:
    detail = exc.to_detail()
    print(detail.error_code, detail.hint)

tldecpy.errors.TLDecPyError

TLDecPyError(message, hint=None)

Bases: Exception

Base class for all public package errors.

Source code in tldecpy/errors.py
def __init__(self, message: str, hint: str | None = None) -> None:
    super().__init__(message)
    self.message = message
    self.hint = hint

to_detail

to_detail()

Convert the exception to a serializable error payload.

Source code in tldecpy/errors.py
def to_detail(self) -> ErrorDetail:
    """Convert the exception to a serializable error payload."""
    return ErrorDetail(
        error_code=self.__class__.__name__,
        message=self.message,
        hint=self.hint,
    )

tldecpy.errors.PygcdError

PygcdError(message, hint=None)

Bases: TLDecPyError

Backward-compatible alias for legacy public API.

Source code in tldecpy/errors.py
def __init__(self, message: str, hint: str | None = None) -> None:
    super().__init__(message)
    self.message = message
    self.hint = hint

tldecpy.errors.ModelKeyError

ModelKeyError(message, hint=None)

Bases: TLDecPyError, KeyError

Raised when a model key is not found in the model registry.

Source code in tldecpy/errors.py
def __init__(self, message: str, hint: str | None = None) -> None:
    super().__init__(message)
    self.message = message
    self.hint = hint

tldecpy.errors.DomainError

DomainError(message, hint=None)

Bases: TLDecPyError, ValueError

Raised when a parameter is outside its physical domain.

Source code in tldecpy/errors.py
def __init__(self, message: str, hint: str | None = None) -> None:
    super().__init__(message)
    self.message = message
    self.hint = hint

tldecpy.errors.ConvergenceError

ConvergenceError(message, hint=None)

Bases: TLDecPyError

Raised when an optimizer cannot converge.

Source code in tldecpy/errors.py
def __init__(self, message: str, hint: str | None = None) -> None:
    super().__init__(message)
    self.message = message
    self.hint = hint

tldecpy.errors.TypingError

TypingError(message, hint=None)

Bases: TLDecPyError, TypeError

Raised for invalid input data types.

Source code in tldecpy/errors.py
def __init__(self, message: str, hint: str | None = None) -> None:
    super().__init__(message)
    self.message = message
    self.hint = hint

tldecpy.errors.DatasetError

DatasetError(message, hint=None)

Bases: TLDecPyError, FileNotFoundError

Raised when a dataset cannot be found or loaded.

Source code in tldecpy/errors.py
def __init__(self, message: str, hint: str | None = None) -> None:
    super().__init__(message)
    self.message = message
    self.hint = hint