Result型の返り値を使わないとき
以下のようにResult
型を返すメソッドの返り値を使わないと、コンパイラがunused `std::result::Result` that must be used
のような警告を出す。
process::Command::new("ls").output()
Result
型を返すメソッドが失敗したとき、返り値を使わないとそれに気づくことができないため、必ず返り値を使うようにコンパイラが警告してくれる。
返り値を使わないときはexpect
を使う。このメソッドはResult
がOk
であれば値を返し、Err
であれば引数のメッセージを表示してpanicを起こす。
process::Command::new("ls").output().expect("failed");
あるいは、?
オペレータを使ってエラーをそのまま呼び出し元に転送することもできる。
fn execute_ls() -> io::Result<()> {
process::Command::new("ls").output()?;
Ok(())
}