Error

Enum Error 

Source
pub enum Error {
    Config {
        code: ErrorCode,
        message: String,
        source: Option<Box<dyn Error + Send + Sync + 'static>>,
    },
    Signal {
        code: ErrorCode,
        message: String,
        signal: Option<i32>,
        source: Option<Box<dyn Error + Send + Sync + 'static>>,
    },
    Shutdown {
        code: ErrorCode,
        message: String,
        timeout_ms: Option<u64>,
        source: Option<Box<dyn Error + Send + Sync + 'static>>,
    },
    Subsystem {
        code: ErrorCode,
        name: String,
        message: String,
        source: Option<Box<dyn Error + Send + Sync + 'static>>,
    },
    Io {
        code: ErrorCode,
        message: String,
        source: Option<Box<dyn Error + Send + Sync + 'static>>,
    },
    ResourceExhausted {
        code: ErrorCode,
        resource: String,
        message: String,
        source: Option<Box<dyn Error + Send + Sync + 'static>>,
    },
    Timeout {
        code: ErrorCode,
        operation: String,
        timeout_ms: u64,
        source: Option<Box<dyn Error + Send + Sync + 'static>>,
    },
    InvalidState {
        code: ErrorCode,
        message: String,
        current_state: Option<String>,
        source: Option<Box<dyn Error + Send + Sync + 'static>>,
    },
    Platform {
        code: ErrorCode,
        message: String,
        platform: String,
        source: Option<Box<dyn Error + Send + Sync + 'static>>,
    },
    Runtime {
        code: ErrorCode,
        message: String,
        source: Option<Box<dyn Error + Send + Sync + 'static>>,
    },
}
Expand description

Comprehensive error type for all daemon operations.

Variants§

§

Config

Configuration-related errors

Fields

§code: ErrorCode

Error code for structured error handling

§message: String

Human-readable error message

§source: Option<Box<dyn Error + Send + Sync + 'static>>

Optional source error for better context

§

Signal

Signal handling errors

Fields

§code: ErrorCode

Error code for structured error handling

§message: String

Human-readable error message

§signal: Option<i32>

Signal number if applicable

§source: Option<Box<dyn Error + Send + Sync + 'static>>

Optional source error for better context

§

Shutdown

Shutdown coordination errors

Fields

§code: ErrorCode

Error code for structured error handling

§message: String

Human-readable error message

§timeout_ms: Option<u64>

Shutdown timeout if applicable

§source: Option<Box<dyn Error + Send + Sync + 'static>>

Optional source error for better context

§

Subsystem

Subsystem management errors

Fields

§code: ErrorCode

Error code for structured error handling

§name: String

Name of the subsystem

§message: String

Human-readable error message

§source: Option<Box<dyn Error + Send + Sync + 'static>>

Optional source error for better context

§

Io

I/O operation errors

Fields

§code: ErrorCode

Error code for structured error handling

§message: String

Human-readable error message

§source: Option<Box<dyn Error + Send + Sync + 'static>>

Optional source error for better context

§

ResourceExhausted

Resource exhaustion errors

Fields

§code: ErrorCode

Error code for structured error handling

§resource: String

Type of resource exhausted

§message: String

Human-readable error message

§source: Option<Box<dyn Error + Send + Sync + 'static>>

Optional source error for better context

§

Timeout

Timeout errors

Fields

§code: ErrorCode

Error code for structured error handling

§operation: String

Operation that timed out

§timeout_ms: u64

Timeout duration in milliseconds

§source: Option<Box<dyn Error + Send + Sync + 'static>>

Optional source error for better context

§

InvalidState

Invalid state errors

Fields

§code: ErrorCode

Error code for structured error handling

§message: String

Human-readable error message

§current_state: Option<String>

Current state if applicable

§source: Option<Box<dyn Error + Send + Sync + 'static>>

Optional source error for better context

§

Platform

Platform-specific errors

Fields

§code: ErrorCode

Error code for structured error handling

§message: String

Human-readable error message

§platform: String

Platform identifier

§source: Option<Box<dyn Error + Send + Sync + 'static>>

Optional source error for better context

§

Runtime

Runtime errors

Fields

§code: ErrorCode

Error code for structured error handling

§message: String

Human-readable error message

§source: Option<Box<dyn Error + Send + Sync + 'static>>

Optional source error for better context

Implementations§

Source§

impl Error

Source

pub fn backtrace(&self) -> Option<&Backtrace>

Get a backtrace for the error if available

Source

pub fn config<S: Into<String>>(message: S) -> Self

Create a new configuration error.

Source

pub fn signal<S: Into<String>>(message: S) -> Self

Create a new signal error.

Source

pub fn signal_with_number<S: Into<String>>(message: S, signal: i32) -> Self

Create a new signal error with signal number.

Source

pub fn signal_with_code<S: Into<String>>(code: ErrorCode, message: S) -> Self

Create a new signal error with specific code.

Source

pub fn shutdown<S: Into<String>>(message: S) -> Self

Create a new shutdown error.

Source

pub fn shutdown_timeout<S: Into<String>>(message: S, timeout_ms: u64) -> Self

Create a new shutdown error with timeout.

Source

pub fn shutdown_with_code<S: Into<String>>(code: ErrorCode, message: S) -> Self

Create a new shutdown error with specific error code.

Source

pub fn subsystem<S: Into<String>, M: Into<String>>(name: S, message: M) -> Self

Create a new subsystem error.

Source

pub fn subsystem_with_code<S: Into<String>, M: Into<String>>( code: ErrorCode, name: S, message: M, ) -> Self

Create a new subsystem error with specific error code.

Source

pub fn io<S: Into<String>>(message: S) -> Self

Create a new I/O error.

Source

pub fn io_with_source<S: Into<String>, E: Error + Send + Sync + 'static>( message: S, source: E, ) -> Self

Create a new I/O error with source error.

Source

pub fn runtime<S: Into<String>>(message: S) -> Self

Create a new runtime error.

Source

pub fn runtime_with_code<S: Into<String>>(code: ErrorCode, message: S) -> Self

Create a new runtime error with specific code.

Source

pub fn runtime_with_source<S: Into<String>, E: Error + Send + Sync + 'static>( message: S, source: E, ) -> Self

Create a new runtime error with source error.

Source

pub fn resource_exhausted<S: Into<String>, M: Into<String>>( resource: S, message: M, ) -> Self

Create a new resource exhausted error.

Source

pub fn resource_exhausted_with_code<S: Into<String>, M: Into<String>>( code: ErrorCode, resource: S, message: M, ) -> Self

Create a new resource exhausted error with specific code.

Source

pub fn timeout<S: Into<String>>(operation: S, timeout_ms: u64) -> Self

Create a new timeout error.

Source

pub fn timeout_with_source<S: Into<String>, E: Error + Send + Sync + 'static>( operation: S, timeout_ms: u64, source: E, ) -> Self

Create a new timeout error with specific code and source.

Source

pub fn invalid_state<S: Into<String>>(message: S) -> Self

Create a new invalid state error.

Source

pub fn invalid_state_with_current<S: Into<String>, C: Into<String>>( message: S, current_state: C, ) -> Self

Create a new invalid state error with current state.

Source

pub fn invalid_state_with_code<S: Into<String>>( code: ErrorCode, message: S, ) -> Self

Create a new invalid state error with specific code.

Source

pub fn platform<S: Into<String>, P: Into<String>>( message: S, platform: P, ) -> Self

Create a new platform error.

Source

pub fn platform_with_code<S: Into<String>, P: Into<String>>( code: ErrorCode, message: S, platform: P, ) -> Self

Create a new platform error with specific code.

Source

pub const fn is_retryable(&self) -> bool

Check if this error is retryable.

Source

pub const fn is_timeout(&self) -> bool

Check if this error is a timeout.

Source

pub const fn is_config_error(&self) -> bool

Check if this error is configuration-related.

Source

pub const fn category(&self) -> &'static str

Get the error category for metrics/logging.

Trait Implementations§

Source§

impl Debug for Error

Source§

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

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

impl Display for Error

Source§

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

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

impl Error for Error

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
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl Serialize for Error

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

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> Paint for T
where T: ?Sized,

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
Source§

impl<T> Separable for T
where T: Display,

Source§

fn separate_by_policy(&self, policy: SeparatorPolicy<'_>) -> String

Adds separators according to the given SeparatorPolicy. Read more
Source§

fn separate_with_commas(&self) -> String

Inserts a comma every three digits from the right. Read more
Source§

fn separate_with_spaces(&self) -> String

Inserts a space every three digits from the right. Read more
Source§

fn separate_with_dots(&self) -> String

Inserts a period every three digits from the right. Read more
Source§

fn separate_with_underscores(&self) -> String

Inserts an underscore every three digits from the right. Read more
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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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