raise_error/
raise-error.rs

1use 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        // Err(Error::from_anyhow())
23    }
24    raise_error().map_err(|err| err.context("raise error"))?;
25    Ok(())
26}