error/
error.rs

1use eyre::{Context, Report};
2use myutil::error::init_error_hook;
3
4fn main() {
5    let package_name = "error";
6    init_error_hook(package_name);
7
8    let err = my_err();
9    print_error(&err);
10    panic!("panic: {err:?}");
11}
12
13fn print_error(err: &Report) {
14    println!("1 {{err}} >> {err}");
15    println!("2 {{err:?}} >> {err:?}");
16    println!("3 {{err:#}} >> {err:#}");
17    println!("4 {{err:#?}} >> {err:#?}");
18}
19
20fn my_err() -> Report {
21    || -> eyre::Result<()> {
22        Err(eyre::eyre!("error: my error 1"))
23    }().context("my error 2").context("my error 3").unwrap_err()
24}