Exceptions API Reference¶
All exceptions inherit from StockFeedError and support optional provider, ticker, and suggestion fields for actionable error messages.
Exception hierarchy¶
StockFeedError
├── ProviderError
│ ├── ProviderAuthError # Invalid/missing API key
│ ├── ProviderRateLimitError # Rate limit hit (.retry_after: float | None)
│ ├── ProviderUnavailableError # Provider down or timeout
│ └── TickerNotFoundError # Ticker doesn't exist on provider
├── CacheError
│ ├── CacheReadError
│ └── CacheWriteError
├── ValidationError # Bad user input
├── UnsupportedIntervalError # Provider doesn't support the interval
├── ConfigurationError # Missing/invalid config
└── DevModeError # Dev-only feature used outside dev mode
Reference¶
Full exception hierarchy for stockfeed.
StockFeedError
¶
Bases: Exception
Base exception for all stockfeed errors.
Source code in src/stockfeed/exceptions.py
ProviderError
¶
Bases: StockFeedError
Raised when a provider encounters an error.
Source code in src/stockfeed/exceptions.py
ProviderAuthError
¶
ProviderRateLimitError
¶
Bases: ProviderError
Rate limit hit for a provider.
Source code in src/stockfeed/exceptions.py
ProviderUnavailableError
¶
TickerNotFoundError
¶
Bases: ProviderError
Ticker doesn't exist on this provider.
Source code in src/stockfeed/exceptions.py
CacheError
¶
Bases: StockFeedError
Raised when a cache operation fails.
Source code in src/stockfeed/exceptions.py
CacheReadError
¶
CacheWriteError
¶
ValidationError
¶
Bases: StockFeedError
Bad user input (ticker format, date range, etc.).
Source code in src/stockfeed/exceptions.py
UnsupportedIntervalError
¶
Bases: StockFeedError
Provider doesn't support the requested interval.
Source code in src/stockfeed/exceptions.py
ConfigurationError
¶
DevModeError
¶
Bases: StockFeedError
Dev-only feature used in non-dev context.