raise_error/
raise-error.rs1use anyhow::Context;
2use taos_error::*;
3
4fn main() -> anyhow::Result<()> {
5 #[inline(never)]
6 fn raise_anyhow_error() -> anyhow::Result<()> {
7 Err(anyhow::anyhow!("fake error string"))
8 }
9 #[inline(never)]
10 fn raise_anyhow_error2() -> anyhow::Result<()> {
11 raise_anyhow_error().context("Another error")
12 }
13 #[inline(never)]
14 fn raise_anyhow_error3() -> anyhow::Result<()> {
15 raise_anyhow_error2().context("Above error")
16 }
17 #[inline(never)]
18 fn raise_error() -> Result<()> {
19 Err(Error::new(0x001, "taosc error"))?;
20 raise_anyhow_error3()?;
21 Ok(())
22 }
24 raise_error().map_err(|err| err.context("raise error"))?;
25 Ok(())
26}