我对铁 rust 还很陌生,所以这可能是个愚蠢的问题,但是:
我有一个接受字符串并返回&Path
对象的函数,如果目录不存在,我希望这个函数抛出一个异常.
fn parse_path(root: Option<&str>) -> Result<&Path, ???> {
// Parse a string into a path object else use the default value
let path = match root {
Some(p) => Path::new(p),
_ => Path::new(DEFAULT_PATH),
};
if path.exists() {
Ok(path)
} else {
???
}
}
在Python语言中,我只能说
if not os.path.exists(path):
raise FileNotFoundError(path)
我不知道Rust中对应的语法是什么.任何帮助都将不胜感激.
注意:如果返回None
,我曾考虑使用Option(path)
和panic!
,但我更愿意返回一个特定的错误,以便可以在函数外部处理它