deribit_base/error/
types.rs1use std::fmt;
4
5#[derive(Debug, Clone)]
7pub enum DeribitError {
8 Connection(String),
10 Authentication(String),
12 Api {
14 code: i32,
16 message: String,
18 },
19 Serialization(String),
21 Timeout,
23 InvalidConfig(String),
25 Other(String),
27}
28
29impl fmt::Display for DeribitError {
30 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
31 match self {
32 DeribitError::Connection(msg) => write!(f, "Connection error: {msg}"),
33 DeribitError::Authentication(msg) => write!(f, "Authentication error: {msg}"),
34 DeribitError::Api { code, message } => write!(f, "API error {code}: {message}"),
35 DeribitError::Serialization(msg) => write!(f, "Serialization error: {msg}"),
36 DeribitError::Timeout => write!(f, "Request timeout"),
37 DeribitError::InvalidConfig(msg) => write!(f, "Invalid configuration: {msg}"),
38 DeribitError::Other(msg) => write!(f, "Error: {msg}"),
39 }
40 }
41}
42
43impl std::error::Error for DeribitError {}
44
45pub type DeribitResult<T> = Result<T, DeribitError>;