anyhow:Returnnested/wrappederrors
创始人
2024-08-22 10:30:16
0

使用 anyhow 库中的 ContextError 类型进行嵌套和返回。

例如,在以下代码中,我们使用 anyhow::Context 类型进行错误包装和嵌套:

use anyhow::Result;
use std::fs::File;
use std::io::Read;

fn read_file(path: &str) -> Result {
    let mut file = File::open(path)
        .context(format!("Unable to open file: {}", path))?;
    let mut contents = String::new();
    file.read_to_string(&mut contents)
        .context(format!("Unable to read file: {}", path))?;
    Ok(contents)
}

在以上示例中,我们使用了 context() 方法来嵌套错误并包装返回值。最终的 Result 类型描述了整个错误链,包括原始错误和所有上下文信息。

可以使用 unwrap()unwrap_err() 方法来获取有关特定错误的信息。

例如,在以下示例中,我们使用 unwrap_err() 方法来获取发生的错误和相关信息:

fn main() {
    match read_file("nonexistent_file.txt") {
        Ok(contents) => println!("Contents of file: {}", contents),
        Err(error) => eprintln!("Error: {:?}", error.unwrap_err()),
    }
}

相关内容

热门资讯

现就发布提示!新海贝辅助,竹间... 现就发布提示!新海贝辅助,竹间茶馆辅助(透视)app-一贯真的有挂竹间茶馆辅助辅助器是一种具有地方特...
经调查!鱼乐达人破解版脚本辅助... 经调查!鱼乐达人破解版脚本辅助,蜀山四川辅助脚本(透视)脚本-确实存在有挂1、游戏颠覆性的策略玩法,...
值得注意的是!微信小程序雀神挂... 值得注意的是!微信小程序雀神挂件辅助,赣牌圈有挂吗(透视)工具-确实存在有挂1、超多福利:超高返利,...
无独有偶!宁德钓螃蟹有没有挂,... 无独有偶!宁德钓螃蟹有没有挂,兴动互娱辅助器多少钱(透视)脚本-切实存在有挂1、兴动互娱辅助器多少钱...
为了进一步!指尖四川小程序辅助... 为了进一步!指尖四川小程序辅助,闲逸辅助软件(透视)软件-真是真的是有挂1、全新机制【指尖四川小程序...
在玩家背景下!打两圈绝对有辅助... 在玩家背景下!打两圈绝对有辅助,越悦游戏字牌攻略(透视)挂-一直有挂暗藏猫腻,小编详细说明越悦游戏字...
据了解!甘肃胡乐白银辅助,大菠... 据了解!甘肃胡乐白银辅助,大菠萝789辅助(透视)挂-原来真的是有挂甘肃胡乐白银辅助脚本下载中分为三...
连日来!神途辅助脚本,小程序微... 连日来!神途辅助脚本,小程序微乐游戏辅助器(透视)工具-果然真的有挂1、小程序微乐游戏辅助器有没有辅...
此事引发广泛关注!甘肃胡乐白银... 此事引发广泛关注!甘肃胡乐白银辅助,家乡大二辅助免费(透视)教程-果然存在有挂1、全新机制【家乡大二...
为了进一步!新道游科技透视收费... 为了进一步!新道游科技透视收费,情怀宜春辅助挂定制交易平台(透视)工具-本来真的有挂1、起透看视 情...