deepseek_api/
error.rs

1use std::fmt;
2#[derive(Debug)]
3pub enum ApiError {
4    Unknown(String),
5    BadRequest(String),
6    Unauthorized(String),
7    InsufficientFunds(String),
8    InvalidParameters(String),
9    RateLimitExceeded(String),
10    ServerError(String),
11    ServiceUnavailable(String),
12}
13impl fmt::Display for ApiError {
14    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
15        let description = match self {
16            ApiError::Unknown(msg) => format!("Unknown Error: {}", msg),
17            ApiError::BadRequest(msg) => format!("Bad Request: {}", msg),
18            ApiError::Unauthorized(msg) => format!("Unauthorized: {}", msg),
19            ApiError::InsufficientFunds(msg) => format!("Insufficient Funds: {}", msg),
20            ApiError::InvalidParameters(msg) => format!("Invalid Parameters: {}", msg),
21            ApiError::RateLimitExceeded(msg) => format!("Rate Limit Exceeded: {}", msg),
22            ApiError::ServerError(msg) => format!("Server Error: {}", msg),
23            ApiError::ServiceUnavailable(msg) => format!("Service Unavailable: {}", msg),
24        };
25        write!(f, "{}", description)
26    }
27}
28
29impl std::error::Error for ApiError {}