> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cascadeflow.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors

> Exception classes for budget limits, provider errors, quality validation failures, and configuration issues.

# 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

| Exception | When Raised |
| - | - |
| `cascadeflowError` | Base class for all cascadeflow errors |
| `BudgetExceededError` | Budget limit exceeded in enforce mode |
| `ConfigError` | Invalid configuration (missing models, bad parameters) |
| `ProviderError` | Provider API error (auth failure, server error) |
| `ModelError` | Model loading or execution failure |
| `RateLimitError` | Provider rate limit exceeded |
| `QualityThresholdError` | Quality validation failed (no model met threshold) |
| `RoutingError` | Routing decision failed (no valid model found) |
| `ValidationError` | Input validation failed |
| `ToolExecutionError` | Tool handler raised an exception |

## Usage

```python theme={null}
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}")
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.