Rust Tur Daftar Isi

Menangani Option Dan Result Secara Kasar

Untuk penulisan kode yang cepat dan kotor, bekerja dengan Option/Result bisa menjadi membosankan. Kedua tipe tersebut mempunyai sebuah fungsi bernama unwrap yang berguna untuk mendapatkan sebuah nilai tanpa banyak basa-basi. Fungsi ini:

  1. Mengambil nilai yang terkandung di dalam Option/Result
  2. Jika tidak menemukan nilai seperti itu, menghentikan seluruh program menggunakan macro panic!.

Kedua potongan kode berikut ini setara:

my_option.unwrap()
match my_option {
    Some(v) => v,
    None => panic!("some error message generated by Rust!"),
}

Begitu juga dengan:

my_result.unwrap()
match my_result {
    Ok(v) => v,
    Err(e) => panic!("some error message generated by Rust!"),
}

Selalu lebih baik untuk menggunakan kemampuan yang memperbolehkan program tetap berjalan meskipun terjadi error, seperti match dan ?. Ada juga pilihan yang lebih nyaman, seperti unwrap_or atau map dan and_then. Jadi pastikan untuk menggunakan unwrap sesedikit mungkin!