Add exceptions module
This commit is contained in:
@@ -0,0 +1,58 @@
|
|||||||
|
"""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",
|
||||||
|
]
|
||||||
Reference in New Issue
Block a user