Docs.rs
  • error_tools-0.23.0
    • error_tools 0.23.0
    • Permalink
    • Docs.rs crate page
    • MIT
    • Links
    • Homepage
    • Repository
    • crates.io
    • Source
    • Owners
    • Wandalen
    • Dependencies
      • anyhow ~1.0 normal optional
      • thiserror ~1.0 normal optional
      • test_tools ~0.16.0 dev
    • Versions
    • 100% of the crate is documented
  • Platform
    • i686-pc-windows-msvc
    • i686-unknown-linux-gnu
    • x86_64-apple-darwin
    • x86_64-pc-windows-msvc
    • x86_64-unknown-linux-gnu
  • Feature flags
  • docs.rs
    • About docs.rs
    • Badges
    • Builds
    • Metadata
    • Shorthand URLs
    • Download
    • Rustdoc JSON
    • Build queue
    • Privacy policy
  • Rust
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate error_tools

logo

error_tools0.23.0

  • All Items

Sections

  • Module :: error_tools
    • Basic use-case
    • To add to your project
    • Try out from the repository

Crate Items

  • Re-exports
  • Modules
  • Macros
  • Traits
  • Type Aliases
  • Derive Macros

Crates

  • error_tools

Crate error_tools

Source
Expand description

§Module :: error_tools

experimental rust-status docs.rs Open in Gitpod discord

Basic exceptions handling mechanism.

§Basic use-case

ⓘ
#[ cfg( feature = "enabled" ) ]
fn main()
{
  let err = f1();
  println!( "{err:#?}" );
  // < Err(
  // <    BasicError {
  // <        msg: "Some error",
  // <    },
  // < )
}

#[ cfg( feature = "enabled" ) ]
fn f1() -> error_tools::untyped::Result< () >
{
  let _read = std::fs::read_to_string( "Cargo.toml" )?;
  Err( error_tools::BasicError::new( "Some error" ).into() )
}

§To add to your project

cargo add error_tools

§Try out from the repository

git clone https://github.com/Wandalen/wTools
cd wTools
cargo run --example error_tools_trivial

Re-exports§

pub use super::super::error;
pub use super::super::untyped;
pub use super::super::untyped as for_app;
pub use super::super::typed;
pub use super::super::typed as for_lib;
pub use super::assert;
pub use super::typed;
pub use super::untyped;

Modules§

dependency
Namespace with dependencies.
error
Alias for std::error::BasicError.
exposed
Exposed namespace of the module.
orphan
Shared with parent namespace of the module
own
Own namespace of the module.
prelude
Prelude to use essentials: use my_module::prelude::*.
thiserror
github crates-io docs-rs

Macros§

debug_assert_id
Macro asserts that two expressions are identical to each other. Unlike std::assert_eq it is removed from a release build.
debug_assert_identical
Macro asserts that two expressions are identical to each other. Unlike std::assert_eq it is removed from a release build. Alias of debug_assert_id.
debug_assert_ni
Macro asserts that two expressions are not identical to each other. Unlike std::assert_eq it is removed from a release build.
debug_assert_not_identical
Macro asserts that two expressions are not identical to each other. Unlike std::assert_eq it is removed from a release build.

Traits§

ErrWith
This trait allows adding extra context or information to an error, creating a tuple of the additional context and the original error. This is particularly useful for error handling when you want to include more details in the error without losing the original error value.
ErrorTrait
Error is a trait representing the basic expectations for error values, i.e., values of type E in Result<T, E>.

Type Aliases§

ResultWithReport
A type alias for a Result that contains an error which is a tuple of a report and an original error.

Derive Macros§

Error

Results

Settings
Help
    module
    error_tools::own
    Own namespace of the module.
    module
    error_tools::error::own
    Own namespace of the module.
    module
    error_tools::error::assert::own
    Own namespace of the module.
    module
    error_tools::error::typed::own
    Own namespace of the module.
    module
    error_tools::error::untyped::own
    Own namespace of the module.
    method
    error_tools::ErrorTrait::downcast
    Attempts to downcast the box to a concrete type.
    method
    error_tools::error::untyped::Error::downcast
    Attempt to downcast the error object to a concrete type.
    method
    error_tools::ErrorTrait::downcast_mut
    Returns some mutable reference to the inner value if it is …
    method
    error_tools::error::untyped::Error::downcast_mut
    Downcast this error object by mutable reference.
    method
    error_tools::ErrorTrait::downcast_ref
    Returns some reference to the inner value if it is of type …
    method
    error_tools::error::untyped::Error::downcast_ref
    Downcast this error object by reference.
    method
    error_tools::error::untyped::Chain::to_owned
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.