Expand description
§Conerror
conerror
is a Rust library designed to automatically add context to errors,
making it easier to trace and debug issues by including file names, line numbers,
and function names in error messages.
§Features
- Automatically adds context to errors.
- Works with any error type that implements std::error::Error.
- Provides detailed error tracebacks.
§Examples
Here’s a basic example demonstrating how to use the conerror macro to add context to errors:
use conerror::conerror;
use std::fs::read;
fn main() {
if let Err(e) = func1() {
println!("{}", e);
}
}
#[conerror]
fn func1() -> conerror::Result<()> {
func2()?;
Ok(())
}
#[conerror]
fn func2() -> conerror::Result<()> {
Read.read()?;
Ok(())
}
struct Read;
#[conerror]
impl Read {
#[conerror]
fn read(&self) -> conerror::Result<()> {
read("/root")?;
Ok(())
}
}
§Output:
When the above example is run, it produces the following output:
Permission denied (os error 13)
#0 src/main.rs:28 untitled::Read::read()
#1 src/main.rs:18 untitled::func2()
#2 src/main.rs:12 untitled::func1()
Structs§
- Error
- Represents an error with additional location information.
- Location
- Represents the location where an error occurred.