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()),
    }
}

相关内容

热门资讯

相较于以往!湛江吴川0759程... 相较于以往!湛江吴川0759程序!果然存在有开挂辅助技巧(有挂教程)-哔哩哔哩1、湛江吴川0759程...
为切实保障!衢州都莱辅助器下载... 为切实保障!衢州都莱辅助器下载地址!确实真的有开挂辅助教程(果真有挂)-哔哩哔哩1、衢州都莱辅助器下...
目前!拱趴大菠萝有什么挂!真是... 目前!拱趴大菠萝有什么挂!真是真的有开挂辅助器(确实有挂)-哔哩哔哩1、拱趴大菠萝有什么挂辅助器安装...
黑科技教程!好友赣南新版本挂!... 黑科技教程!好友赣南新版本挂!一贯是真的有开挂辅助教程(真实有挂)-哔哩哔哩1、好友赣南新版本挂有没...
总结辅助挂!心悦踢透视辅助器免... 总结辅助挂!心悦踢透视辅助器免费!一贯真的有开挂辅助器(有挂方略)-哔哩哔哩暗藏猫腻,小编详细说明心...
据悉!九江讨赏辅助!果然确实有... 据悉!九江讨赏辅助!果然确实有开挂辅助神器(发现有挂)-哔哩哔哩一、九江讨赏辅助可以开透视的定义与意...
此事备受玩家关注!吉祥填大坑的... 此事备受玩家关注!吉祥填大坑的破解方法!好像存在有开挂辅助神器(有挂存在)-哔哩哔哩1)吉祥填大坑的...
攻略辅助挂!潮汕来物局开挂方法... 攻略辅助挂!潮汕来物局开挂方法!原来真的有开挂辅助技巧(有挂助手)-哔哩哔哩攻略辅助挂!潮汕来物局开...
迎来新发展!樱花之盛辅助器!切... 迎来新发展!樱花之盛辅助器!切实是真的有开挂辅助技巧(有挂教程)-哔哩哔哩1、任何樱花之盛辅助器透视...
据权威媒体报道!禅游指尖四川辅... 据权威媒体报道!禅游指尖四川辅助脚本!切实确实有开挂辅助神器(真的有挂)-哔哩哔哩1、下载好禅游指尖...