Files
simconnect-sdk-rs/simconnect-sdk/src/errors.rs
2022-10-10 20:22:16 +01:00

25 lines
895 B
Rust

use thiserror::Error;
/// SimConnect SDK error.
#[derive(Error, Debug)]
pub enum SimConnectError {
/// SimConnect error.
#[error("SimConnect error: {0}")]
SimConnectError(i32),
#[error("SimConnect unrecognized: {0}")]
/// SimConnect unrecognized error. Occurs when an unimplemented event is received by the SDK.
SimConnectUnrecognizedEvent(u32),
/// Object already registered with the client instance.
#[error("Object `{0}` has already been registered")]
ObjectAlreadyRegistered(String),
/// Object mismatch.
#[error("Tried to convert object of type {actual} to {expected}")]
ObjectMismatch { actual: String, expected: String },
/// Conversation error.
#[error("Conversion error: {0}")]
ConversionError(#[from] std::num::TryFromIntError),
/// Unexpected error.
#[error("Unexpected error: {0}")]
UnexpectedError(String),
}