Spaces:
Running
Running
File size: 1,061 Bytes
565a379 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | from enum import Enum
class ErrorCodes(str, Enum):
INTERNAL_ERROR = "ERR_001"
INPUT_VALIDATION_ERROR = "ERR_002"
RESOURCE_NOT_FOUND = "ERR_003"
DEPENDENCY_ERROR = "ERR_004"
GEMINI_ERROR = "ERR_005"
RATE_LIMIT_EXCEEDED = "ERR_006"
ERROR_MESSAGES = {
ErrorCodes.INTERNAL_ERROR: "An unexpected internal error occurred.",
ErrorCodes.INPUT_VALIDATION_ERROR: "The input provided is invalid.",
ErrorCodes.RESOURCE_NOT_FOUND: "The requested resource was not found.",
ErrorCodes.DEPENDENCY_ERROR: "A downstream service is currently unavailable.",
ErrorCodes.GEMINI_ERROR: "Unable to generate a solution at this time.",
ErrorCodes.RATE_LIMIT_EXCEEDED: "Too many requests. Please try again later."
}
class AppError(Exception):
def __init__(self, code: ErrorCodes, message: str = None, original_exception: Exception = None):
self.code = code
self.message = message or ERROR_MESSAGES.get(code, "Unknown Error")
self.original_exception = original_exception
super().__init__(self.message)
|