gpt4 book ai didi

rust - 无法创建目录时出现 panic

转载 作者:行者123 更新时间:2023-12-03 11:33:41 25 4
gpt4 key购买 nike

我正在编写一个 Rust 程序,它将根据用户输入创建一个目录。我想知道如何在 error 发生时用我自己的文本 panic ,比如 Permission Error 等等......

fn create_dir(path: &String) -> std::io::Result<()> {
std::fs::create_dir_all(path)?;
Ok(())
}

当发生错误时,这将不执行任何操作

最佳答案

对于这种情况,最简单的方法是使用 unwrap_or_else() :

fn create_dir(path: &str) {
std::fs::create_dir_all(path)
.unwrap_or_else(|e| panic!("Error creating dir: {}", e));
}

请注意,出于描述的原因,我还更改了参数类型 here .


但是,接受 &Path 会更符合习惯。或 AsRef<Path> .

use std::fs;
use std::path::Path;

fn create_dir<P: AsRef<Path>>(path: P) {
fs::create_dir_all(path)
.unwrap_or_else(|e| panic!("Error creating dir: {}", e));
}

关于rust - 无法创建目录时出现 panic ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65573693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com