pub enum KiteError {
Show 19 variants
Http(Error),
Json(Error),
TokenException(String),
UserException(String),
OrderException(String),
InputException(String),
MarginException(String),
HoldingException(String),
NetworkException(String),
DataException(String),
GeneralException(String),
Api {
status: String,
message: String,
error_type: Option<String>,
},
Authentication(String),
InvalidParameter(String),
CsvParsing(Error),
DateTimeParsing(ParseError),
UrlParsing(ParseError),
General(String),
Legacy(Error),
}
Expand description
Main error type for all KiteConnect operations
Variants§
Http(Error)
HTTP request failed
Json(Error)
JSON parsing failed
TokenException(String)
Session expired or invalidated (403 header) User should clear session and re-initiate login
UserException(String)
User account related errors
OrderException(String)
Order related errors (placement failures, corrupt fetch, etc.)
InputException(String)
Missing required fields, bad parameter values
MarginException(String)
Insufficient funds required for order placement
HoldingException(String)
Insufficient holdings available to place sell order
NetworkException(String)
Network error - API unable to communicate with OMS
DataException(String)
Internal system error - API unable to understand OMS response
GeneralException(String)
Unclassified error (should be rare)
Api
Generic API error when error_type is not recognized
Authentication(String)
Authentication failed (generic)
InvalidParameter(String)
Invalid parameter provided (generic)
CsvParsing(Error)
CSV parsing failed (for instruments data)
DateTimeParsing(ParseError)
Date/time parsing failed
UrlParsing(ParseError)
URL parsing failed
General(String)
General error with custom message
Legacy(Error)
Backward compatibility with anyhow errors
Implementations§
Source§impl KiteError
impl KiteError
Sourcepub fn from_api_response(
status_code: u16,
status: impl Into<String>,
message: impl Into<String>,
error_type: Option<String>,
) -> Self
pub fn from_api_response( status_code: u16, status: impl Into<String>, message: impl Into<String>, error_type: Option<String>, ) -> Self
Create a new API error from response Maps official KiteConnect error_type to specific exception types
Sourcepub fn api_error(status: impl Into<String>, message: impl Into<String>) -> Self
pub fn api_error(status: impl Into<String>, message: impl Into<String>) -> Self
Create a new API error (legacy method for backward compatibility)
Sourcepub fn api_error_with_type(
status: impl Into<String>,
message: impl Into<String>,
error_type: impl Into<String>,
) -> Self
pub fn api_error_with_type( status: impl Into<String>, message: impl Into<String>, error_type: impl Into<String>, ) -> Self
Create a new API error with error type (legacy method for backward compatibility)
Sourcepub fn auth_error(message: impl Into<String>) -> Self
pub fn auth_error(message: impl Into<String>) -> Self
Create a new authentication error
Sourcepub fn invalid_param(message: impl Into<String>) -> Self
pub fn invalid_param(message: impl Into<String>) -> Self
Create a new invalid parameter error
Sourcepub fn token_exception(message: impl Into<String>) -> Self
pub fn token_exception(message: impl Into<String>) -> Self
Create a new TokenException
Sourcepub fn user_exception(message: impl Into<String>) -> Self
pub fn user_exception(message: impl Into<String>) -> Self
Create a new UserException
Sourcepub fn order_exception(message: impl Into<String>) -> Self
pub fn order_exception(message: impl Into<String>) -> Self
Create a new OrderException
Sourcepub fn input_exception(message: impl Into<String>) -> Self
pub fn input_exception(message: impl Into<String>) -> Self
Create a new InputException
Sourcepub fn margin_exception(message: impl Into<String>) -> Self
pub fn margin_exception(message: impl Into<String>) -> Self
Create a new MarginException
Sourcepub fn holding_exception(message: impl Into<String>) -> Self
pub fn holding_exception(message: impl Into<String>) -> Self
Create a new HoldingException
Sourcepub fn network_exception(message: impl Into<String>) -> Self
pub fn network_exception(message: impl Into<String>) -> Self
Create a new NetworkException
Sourcepub fn data_exception(message: impl Into<String>) -> Self
pub fn data_exception(message: impl Into<String>) -> Self
Create a new DataException
Sourcepub fn general_exception(message: impl Into<String>) -> Self
pub fn general_exception(message: impl Into<String>) -> Self
Create a new GeneralException
Sourcepub fn requires_reauth(&self) -> bool
pub fn requires_reauth(&self) -> bool
Check if this error requires re-authentication
Sourcepub fn is_client_error(&self) -> bool
pub fn is_client_error(&self) -> bool
Check if this is a client-side error (4xx)
Sourcepub fn is_server_error(&self) -> bool
pub fn is_server_error(&self) -> bool
Check if this is a server-side error (5xx)
Sourcepub fn is_retryable(&self) -> bool
pub fn is_retryable(&self) -> bool
Check if this error can be retried
Trait Implementations§
Source§impl Error for KiteError
impl Error for KiteError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl From<ParseError> for KiteError
impl From<ParseError> for KiteError
Source§fn from(source: ParseError) -> Self
fn from(source: ParseError) -> Self
Source§impl From<ParseError> for KiteError
impl From<ParseError> for KiteError
Source§fn from(source: ParseError) -> Self
fn from(source: ParseError) -> Self
Auto Trait Implementations§
impl Freeze for KiteError
impl !RefUnwindSafe for KiteError
impl Send for KiteError
impl Sync for KiteError
impl Unpin for KiteError
impl !UnwindSafe for KiteError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.