@dataclass
class PodBayDoorsStillClosed(DocumentedError):
"""
I’m sorry, {self.user_name}.
I’m afraid I can’t do that.
"""
user_name: str
when raised as raise PodBayDoorsStillClosed('Dave')
will print PodBayDoorsStillClosed: I’m sorry, Dave.
I’m afraid I can’t do that.
Reduce the boilerplate, use more exception classes to better express the business logic, or invent your own use cases :) Can be tried out as: pip install documented
which works for Python ⩾ 3.8.1.