using https://docs.rs/snafu/latest/snafu/ maybe refer: [OpenDAL's Error Handling Practices ](https://xuanwo.io/reports/2022-46/https://xuanwo.io/reports/2022-46/)