問題一覧に戻る
中級エラー処理
問題54: Result型の活用

Result型の値を取り出す方法は複数あります。unwrapは成功時の値を取り出し、失敗時はpanic!。expectはカスタムメッセージ付き。unwrap_orはデフォルト値を指定して安全に処理。matchで明示的に両方のケースを扱うのが最も安全です。状況に応じた適切な方法を選びましょう。

use std::fs;

fn main() {
// unwrapの例
let content = fs::read_to_string("example.txt").();

// expectの例
let number: i32 = "42".parse().("Failed to parse number");

// 明示的なエラー処理
match fs::read_to_string("config.txt") {
(content) => println!("Content: {}", content),
(e) => println!("Error: {}", e),
}

// unwrap_or
let value = "abc".parse::<i32>().(0);
println!("Value: {}", value);
}