logo
#[non_exhaustive]
pub enum CriticalError {
    Exit,
    External(Box<dyn Error + Send + Sync>),
    IoError {
        about: &'static str,
        err: Error,
    },
    ErrorChannelSend(SendError<RuntimeError>),
    EventChannelSend(SendError<Event>),
    MainTaskJoin(JoinError),
    MissingHandler,
}
Expand description

Errors which are not recoverable and stop watchexec execution.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Exit

Pseudo-error used to signal a graceful exit.

External(Box<dyn Error + Send + Sync>)

For custom critical errors.

This should be used for errors by external code which are not covered by the other error types; watchexec-internal errors should never use this.

IoError

Fields

about: &'static str

What it was about.

err: Error

The I/O error which occurred.

A critical I/O error occurred.

ErrorChannelSend(SendError<RuntimeError>)

Error received when a runtime error cannot be sent to the errors channel.

EventChannelSend(SendError<Event>)

Error received when an event cannot be sent to the events channel.

MainTaskJoin(JoinError)

Error received when joining the main watchexec task.

MissingHandler

Error received when a handler is missing on initialisation.

This is a bug and should be reported.

Trait Implementations

Formats the value using the given formatter. Read more

Unique diagnostic code that can be used to look up more information about this Diagnostic. Ideally also globally unique, and documented in the toplevel crate’s documentation for easy searching. Rust path format (foo::bar::baz) is recommended, but more classic codes like E0123 or Enums will work just fine. Read more

Diagnostic severity. This may be used by [ReportHandler]s to change the display format of this diagnostic. Read more

Additional help text related to this Diagnostic. Do you have any advice for the poor soul who’s just run into this issue? Read more

URL to visit for a more detailed explanation/help about this Diagnostic.

Source code to apply this Diagnostic’s Diagnostic::labels to.

Labels to apply to this Diagnostic’s Diagnostic::source_code

Additional related Diagnostics.

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Performs the conversion.

Performs the conversion.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

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

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

Performs the conversion.

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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

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