Coverage for src / lexigram / contracts / mailer / errors.py: 70%
10 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-19 05:41 +0800
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-19 05:41 +0800
1# lexigram-contracts/src/lexigram/contracts/mailer/errors.py
2"""Mailer error types."""
4from __future__ import annotations
6from typing import Any
8from lexigram.contracts.exceptions.domain import DomainError
11class MailerError(DomainError):
12 """Base mailer/email notification error."""
14 _code = "LEX_ERR_NOTIF_002"
16 def __init__(
17 self,
18 message: str = "Mailer error",
19 *,
20 backend: str = "unknown",
21 **kwargs: Any,
22 ) -> None:
23 details = {"backend": backend, **kwargs.pop("details", {})}
24 super().__init__(message, details=details, **kwargs)
25 self.backend = backend
28__all__ = ["MailerError"]