59 lines
1.3 KiB
Python
59 lines
1.3 KiB
Python
"""Custom exceptions for mt5bridge-ccxt.
|
|
|
|
All exceptions inherit from Mt5BridgeError so callers can catch the
|
|
base class for any wrapper-related failure.
|
|
"""
|
|
|
|
from ccxt.base.errors import (
|
|
ExchangeError,
|
|
AuthenticationError,
|
|
NetworkError,
|
|
ExchangeNotAvailable,
|
|
InvalidOrder,
|
|
OrderNotFound,
|
|
BadSymbol,
|
|
BadRequest,
|
|
ArgumentsRequired,
|
|
)
|
|
|
|
|
|
class Mt5BridgeError(ExchangeError):
|
|
"""Base exception for all MT5Bridge-related errors."""
|
|
|
|
|
|
class Mt5BridgeConnectionError(NetworkError):
|
|
"""Connection to MT5Bridge failed (host unreachable, timeout, etc.)."""
|
|
|
|
|
|
class Mt5BridgeAuthError(AuthenticationError):
|
|
"""Authentication failed (HTTP 401). Check your API key."""
|
|
|
|
|
|
class Mt5BridgeNotConnectedError(ExchangeNotAvailable):
|
|
"""MT5 client is not connected to the broker (HTTP 503)."""
|
|
|
|
|
|
class Mt5BridgeInvalidRequestError(BadRequest):
|
|
"""Invalid request parameters (HTTP 400)."""
|
|
|
|
|
|
class Mt5BridgeTimeoutError(NetworkError):
|
|
"""Request to MT5Bridge timed out."""
|
|
|
|
|
|
# Re-export ccxt exceptions for convenience
|
|
__all__ = [
|
|
"Mt5BridgeError",
|
|
"Mt5BridgeConnectionError",
|
|
"Mt5BridgeAuthError",
|
|
"Mt5BridgeNotConnectedError",
|
|
"Mt5BridgeInvalidRequestError",
|
|
"Mt5BridgeTimeoutError",
|
|
"InvalidOrder",
|
|
"OrderNotFound",
|
|
"BadSymbol",
|
|
"BadRequest",
|
|
"ArgumentsRequired",
|
|
"ExchangeError",
|
|
]
|