私は、ファイルを読み取り、データを解析しています:Read :: read_to_endメソッドからエラーを処理する方法は?
fn main() {
parse_torrentfile("ubuntu-16.04.1-server-amd64.torrent");
}
fn parse_file(filename: &'static str) {
let mut f = File::open(&Path::new(filename)).unwrap();
let mut v: Vec<u8> = Vec::new();
let file_content = f.read_to_end(&mut v);
println!("{:?}", file_content);
}
をubuntu-16.04.1-server-amd64.torrent
が存在する場合、これはうまく動作しますが、それが存在しない場合、このエラーが発生します。
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { repr: Os { code: 2, message: "No such file or directory" } }'
どのようにすることができますが「存在しないファイル」または「プロセスファイルの解析」を印刷しますか?
'の代わりに' .unwrap() 'の.expect( "ファイルが存在しない" という。)'試してみてください。 – ljedrz
@ljedrz Thxしかし、 'thread 'main' panicked at 'ファイルが存在しません:エラー{repr:Os {code:2、message:" No such file or directory "}}'、../src/ libcore/result.rs:799'、 'ファイルは存在しません 'というのは印刷できません。 – kai
[* Rustプログラミング言語*エラー処理に関する章](https://doc.rust-lang.org/stable/book/error-handling.html)を読んでください。このエラーに特別なことは何もありません。 – Shepmaster