class ValidationError(Exception): """Error de validación de datos de entrada.""" def __init__(self, message, field=None): self.message = message self.field = field super().__init__(message) def to_response(self): detail = {'error': self.message} if self.field: detail['field'] = self.field return {'body': {'data': [], **detail}, 'mensaje': self.message} class ExternalServiceError(Exception): """Error en la comunicación con un servicio externo.""" def __init__(self, message, service=None): self.message = message self.service = service super().__init__(message) def to_response(self): return {'body': {'data': [], 'error': self.message}, 'mensaje': self.message} class NotFoundError(Exception): """Recurso no encontrado.""" def __init__(self, message='Recurso no encontrado'): self.message = message super().__init__(message) def to_response(self): return {'body': {'data': [], 'error': self.message}, 'mensaje': self.message}