2025-08-24 15:36:02 +02:00

23 lines
748 B
Python

from fastapi import Request
from fastapi.responses import JSONResponse
from sqlalchemy.exc import SQLAlchemyError
from app.exception_handlers.base import BaseExceptionHandler
class SQLAlchemyExceptionHandler(BaseExceptionHandler):
"""Handles SQLAlchemy database exceptions."""
@classmethod
async def handle_exception(cls, request: Request, exc: SQLAlchemyError) -> JSONResponse:
request_info = await cls.extract_request_info(request)
await cls.log_error(
"Database error occurred",
request_info,
sql_error=repr(exc)
)
return JSONResponse(
status_code=500,
content={"message": "A database error occurred. Please try again later."}
)