Inferencing / core /exceptions.py
Shyamnath's picture
Add complete backend application with all dependencies
6ff1f88
raw
history blame
1.07 kB
class APIError(Exception):
"""Base exception for API related errors."""
pass
class APIKeyError(APIError):
"""Exception raised for API key related errors."""
pass
class ModelError(APIError):
"""Exception raised for model related errors."""
pass
class ProviderError(APIError):
"""Exception raised for provider related errors."""
pass
class ValidationError(APIError):
"""Exception raised for input validation errors."""
pass
def handle_api_error(error: APIError) -> dict:
"""Convert API errors to response dictionaries."""
error_types = {
APIKeyError: (400, "API Key Error"),
ModelError: (400, "Model Error"),
ProviderError: (500, "Provider Error"),
ValidationError: (400, "Validation Error"),
APIError: (500, "Internal Server Error")
}
error_class = type(error)
status_code, error_type = error_types.get(error_class, (500, "Unknown Error"))
return {
"status_code": status_code,
"error_type": error_type,
"detail": str(error)
}