Skip to main content

OperationErrorKind

Enum OperationErrorKind 

Source
pub enum OperationErrorKind {
    NotSupported {
        operation: String,
        reason: String,
    },
    InvalidParameters {
        operation: String,
        reason: String,
    },
}
Expand description

Represents the types of errors that can occur during operations related to trading strategies or other processes.

This enum categorizes errors for better debugging and handling in a structured way.

§Variants

  • NotSupported - Indicates that the requested operation is not supported for a given strategy type or context. Used when there’s an incompatibility between an operation and its execution context.

  • InvalidParameters - Reflects that the operation was provided with invalid or insufficient parameters that prevent successful execution. Used when input validation fails.

§Examples

use optionstratlib_core::error::OperationErrorKind;

// Creating a NotSupported error
let error = OperationErrorKind::NotSupported {
    operation: "calculate_delta".to_string(),
    reason: "Not applicable for binary options".to_string()
};

// Creating an InvalidParameters error
let error = OperationErrorKind::InvalidParameters {
    operation: "calculate_premium".to_string(),
    reason: "Missing volatility input".to_string()
};

§Use Cases

  • Used in strategy implementations to signal operation compatibility issues
  • Used in validation layers to report problems with input parameters
  • Helps create clear error messages that guide users toward resolution

This error type is typically used alongside other specialized error enums in the error module, such as StrategyError, OptionsError, and others.

Variants§

§

NotSupported

Operation not supported for this strategy or context

Used when an operation cannot be performed due to incompatibility with the target strategy type or other contextual constraints.

Fields

§operation: String

The name of the operation that was attempted

§reason: String

A detailed explanation of why the operation is not supported

§

InvalidParameters

Invalid parameters for operation

Used when the input parameters for an operation are invalid, insufficient, or incompatible with the requirements of the operation.

Fields

§operation: String

The name of the operation that failed

§reason: String

A detailed explanation of why the parameters are invalid

Trait Implementations§

Source§

impl Debug for OperationErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for OperationErrorKind

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for OperationErrorKind

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more