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}