【发布时间】:2015-10-14 19:23:09
【问题描述】:
我正在运行这个:
use std::error::Error;
use std::fs::File;
fn main() {
try_main().unwrap();
}
fn try_main() -> Result<(), Box<Error>> {
try!(check_file("andre"));
Ok(())
}
fn check_file(user: &str) -> Result<(), Box<Error>> {
let suspend_file_name = format!("{}{}", "/var/cpanel/suspended/", user);
let suspend_file = try!(File::open(suspend_file_name));
Ok(())
}
得到这个错误:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', libcore/result.rs:945:5
我认为这应该返回一个错误?我正在使用 Rust 1.3,但不知道我做错了什么。
【问题讨论】:
-
题外话,但你应该使用
PathBuf而不是format!来构造路径。 -
感谢@Shepmaster 的 PathBuf 推荐。