Expand description
tor-error
Support for error handling in Tor and Arti
Primarily, this crate provides the ErrorKind enum,
and associated HasKind trait.
There is also some other miscellany, supporting error handling in crates higher up the dependency stack.
Features
backtrace – Enable backtraces in internal errors. (On by default.)
Experimental and unstable features
Note that the APIs enabled by these features are NOT covered by semantic versioning1 guarantees: we might break them or remove them between patch versions.
experimental-api: Add additional non-stable APIs to our public interfaces.
License: MIT OR Apache-2.0
Remember, semantic versioning is what makes various
cargofeatures work reliably. To be explicit: if you wantcargo updateto only make safe changes, then you cannot enable these features. ↩
Macros
- Create a bad API usage error, including a message like
format!, and capturing this call site - Defines
AsRef<dyn StdError + 'static>for a type implementingStdError - Create an internal error, including a message like
format!, and capturing this call site - Helper for converting an error into an bad API usage error
- Helper for converting an error into an internal error
Structs
- Programming error (a bug)
- A
RetryTimewrapped so that it compares according toRetryTime::loose_cmp - Wraps any Error, providing a nicely-reporting Display impl
- Helper type for reporting errors that are concrete implementors of
StdError - Error type indicating that an input was incomplete, and could not be processed.
Enums
- An absolute
RetryTime. - Classification of an error arising from Arti’s Tor operations
- A description of when an operation may be retried.
Traits
- Extension trait providing
.report()method on concrete errors - Errors that can be categorized as belonging to an
ErrorKind - Trait for an error object that can tell us when the operation which generated it can be retried.
Functions
- Report the error E to stderr, and exit the program