ccxt_core/error/order.rs
1//! Order-related error types.
2
3use thiserror::Error;
4
5/// Errors related to order management operations.
6///
7/// This type covers all order lifecycle errors including creation,
8/// cancellation, and modification failures.
9///
10/// # Example
11///
12/// ```rust
13/// use ccxt_core::error::{Error, OrderError};
14///
15/// fn cancel_order(order_id: &str) -> Result<(), Error> {
16/// // Simulate order not found
17/// if order_id == "unknown" {
18/// return Err(OrderError::CancellationFailed(
19/// format!("Order {} not found", order_id)
20/// ).into());
21/// }
22/// Ok(())
23/// }
24/// ```
25#[derive(Error, Debug)]
26#[non_exhaustive]
27pub enum OrderError {
28 /// Order creation failed.
29 #[error("Order creation failed: {0}")]
30 CreationFailed(String),
31
32 /// Order cancellation failed.
33 #[error("Order cancellation failed: {0}")]
34 CancellationFailed(String),
35
36 /// Order modification failed.
37 #[error("Order modification failed: {0}")]
38 ModificationFailed(String),
39
40 /// Invalid order parameters.
41 #[error("Invalid order parameters: {0}")]
42 InvalidParameters(String),
43}