Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Error Handling (Penanganan Error)

Error itu adalah kenyataan hidup di software, jadi Rust punya sejumlah fitur buat nanganin situasi di mana ada sesuatu yang salah. Di banyak kasus, Rust mewajibkan kita buat ngakuin kemungkinan adanya error dan ngambil suatu aksi sebelum kode kita bisa di-compile. Persyaratan ini bikin program kita jadi lebih kuat (robust) dengan mastiin kalau kita bakal nemuin error dan nanganin mereka dengan bener sebelum kita nge-deploy kode kita ke production!

Rust ngelempokin error jadi dua kategori besar: error recoverable (yang bisa dipulihkan) dan unrecoverable (yang nggak bisa dipulihkan). Buat error yang recoverable, kayak error file not found (file nggak ditemuin), kemungkinan besar kita cuma mau ngelaporin masalahnya ke user terus nyoba operasinya lagi. Error yang unrecoverable selalu jadi gejala dari bugs, kayak nyoba akses lokasi yang ngelewatin akhir dari sebuah array, dan makanya kita mau langsung ngehentiin programnya.

Kebanyakan bahasa nggak ngebedain dua jenis error ini dan nanganin keduanya pake cara yang sama, pake mekanisme kayak exceptions (pengecualian). Rust nggak punya exceptions. Sebaliknya, dia punya tipe Result<T, E> buat error yang recoverable dan macro panic! yang ngehentiin eksekusi pas program nemu error yang unrecoverable. Bab ini bakal bahas soal manggil panic! dulu terus bahas soal balikin nilai Result<T, E>. Selain itu, kita bakal eksplor pertimbangan- pertimbangan pas milih buat nyoba pulih (recover) dari error atau ngehentiin eksekusi.