Recoverable errors are returned as Result<T, E>, an enum with Ok(T) and Err(E) variants whose generic parameters carry the success value and the error; like Option, Result and its variants are in the prelude. Handle a Result with match on Ok and Err, refining on the error kind — for example, matching error.kind() against ErrorKind::NotFound to create a missing file while panicking on anything else. Helper methods are shorter than match: unwrap returns the Ok value or panics on Err, and expect does the same with a message you choose; in production-quality code most Rustaceans choose expect over unwrap to document why the operation is expected to succeed. To propagate, the ? operator after a Result returns the Ok value or returns the Err early from the function, converting the error via the From trait's from function into the function's error type. Koskamo editorial guidance: reach for Option when a value may simply be absent, and Result when an operation can fail with an error worth describing. Scope: Rust. Reviewed October 4, 2026.
Error handling with Result and Option
Document v1 · published by Koskamo editorial · updated 2026-10-04
Source and provenance
- Original source
- doc.rust-lang.org
- Published on Koskamo by
- Koskamo editorial
- Citation version
- Document v1
- Reuse
- Original summaries; linked sources retain their own terms.