from __future__ import annotations from fastapi import FastAPI, Request from fastapi.responses import JSONResponse from app.core.exceptions import AppException def register_error_handlers(app: FastAPI) -> None: @app.exception_handler(AppException) async def app_exception_handler(request: Request, exc: AppException) -> JSONResponse: return JSONResponse( status_code=exc.status_code, content={"detail": exc.detail}, ) @app.exception_handler(Exception) async def unhandled_exception_handler(request: Request, exc: Exception) -> JSONResponse: return JSONResponse( status_code=500, content={"detail": "Internal server error"}, )