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::untyped;
  • pub use super::super::untyped as for_app;
  • pub use super::super::typed;
  • pub use super::super::typed as for_lib;

Modules§

Macros§

  • Return early with an error.
  • Macro asserts that two expressions are identical to each other. Unlike std::assert_eq it is removed from a release build.
  • 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.
  • Macro asserts that two expressions are not identical to each other. Unlike std::assert_eq it is removed from a release build.
  • Macro asserts that two expressions are not identical to each other. Unlike std::assert_eq it is removed from a release build.
  • Macro to generate an error descriptor.
  • Construct an ad-hoc error from a string or existing non-anyhow error value.
  • Macro to return an Err( error ) generating error descriptor.

Structs§

  • baic implementation of generic BasicError

Traits§

  • 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.
  • Error is a trait representing the basic expectations for error values, i.e., values of type E in Result<T, E>.

Type Aliases§

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

Derive Macros§