Files
overub/core/error_handler.py
2025-12-21 17:12:32 +01:00

19 lines
500 B
Python

import asyncio
from typing import Awaitable, Callable
from core.logger import get_logger
logger = get_logger("core.error_handler")
def capture_errors(handler: Callable[..., Awaitable[None]]) -> Callable[..., Awaitable[None]]:
async def wrapper(*args, **kwargs) -> None:
try:
await handler(*args, **kwargs)
except asyncio.CancelledError:
raise
except Exception:
logger.exception("Unhandled exception in handler")
return wrapper