Skip to main content

Errors

All cascadeflow exceptions inherit from cascadeflowError. Catch this base class for general error handling, or catch specific subclasses for targeted recovery.

Exception Hierarchy

cascadeflowError
├── BudgetExceededError
├── ConfigError
├── ProviderError
├── ModelError
├── RateLimitError
├── QualityThresholdError
├── RoutingError
├── ValidationError
└── ToolExecutionError

Error Classes

ExceptionWhen Raised
cascadeflowErrorBase class for all cascadeflow errors
BudgetExceededErrorBudget limit exceeded in enforce mode
ConfigErrorInvalid configuration (missing models, bad parameters)
ProviderErrorProvider API error (auth failure, server error)
ModelErrorModel loading or execution failure
RateLimitErrorProvider rate limit exceeded
QualityThresholdErrorQuality validation failed (no model met threshold)
RoutingErrorRouting decision failed (no valid model found)
ValidationErrorInput validation failed
ToolExecutionErrorTool handler raised an exception

Usage

from cascadeflow.exceptions import (
    cascadeflowError,
    BudgetExceededError,
    ProviderError,
)

try:
    result = await agent.run("Complex query")
except BudgetExceededError as e:
    print(f"Budget exceeded: {e}")
    # Handle gracefully — return cached response, notify user, etc.
except ProviderError as e:
    print(f"Provider error: {e}")
    # Retry with different provider or model
except cascadeflowError as e:
    print(f"cascadeflow error: {e}")