# Error Handling (Rust) > Result, Option, unwrap, expect, ?, custom errors, error propagation - 18 interview questions - Junior - [Interview Questions: Rust](https://sharpskill.dev/en/technologies/rust/interview-questions.md) ## 1. Which Rust type represents a value that may or may not be present? **Answer** Option is an enum that can be either Some(T) containing a value, or None indicating the absence of a value. This type replaces null values found in other languages and forces the developer to explicitly handle the case where the value is absent, thus avoiding null pointer errors at runtime. ## 2. Which Rust type represents an operation that can succeed or fail with an error? **Answer** Result is an enum with two variants: Ok(T) for success containing the return value, and Err(E) for failure containing the error. This type forces explicit error handling rather than using exceptions, making code more predictable and errors more visible. ## 3. What does the unwrap() method do on an Option? **Answer** unwrap() returns the value contained in Some(T) if it exists. If the Option is None, the program panics (panic!) and stops immediately. This method is convenient for prototyping but should be avoided in production as it does not gracefully handle the None case. ## 15 more questions available - What is the difference between unwrap() and expect()? - What does the ? operator do in a function that returns Result? Sign up for free: https://sharpskill.dev/en/login ## Other Rust interview topics - [Rust Basics](https://sharpskill.dev/en/technologies/rust/interview-questions/rust-basics.md): 25 questions, Junior - [Ownership & Borrowing](https://sharpskill.dev/en/technologies/rust/interview-questions/ownership-borrowing.md): 22 questions, Junior - [Structs & Enums](https://sharpskill.dev/en/technologies/rust/interview-questions/structs-enums.md): 20 questions, Junior - [Collections](https://sharpskill.dev/en/technologies/rust/interview-questions/collections.md): 20 questions, Junior - [Modules & Packages](https://sharpskill.dev/en/technologies/rust/interview-questions/modules-packages.md): 18 questions, Junior - [Traits](https://sharpskill.dev/en/technologies/rust/interview-questions/traits.md): 22 questions, Mid-Level - [Generics](https://sharpskill.dev/en/technologies/rust/interview-questions/generics.md): 20 questions, Mid-Level - [Lifetimes](https://sharpskill.dev/en/technologies/rust/interview-questions/lifetimes.md): 20 questions, Mid-Level - [Iterators & Closures](https://sharpskill.dev/en/technologies/rust/interview-questions/iterators-closures.md): 22 questions, Mid-Level - [Smart Pointers](https://sharpskill.dev/en/technologies/rust/interview-questions/smart-pointers.md): 22 questions, Mid-Level - [Concurrency Basics](https://sharpskill.dev/en/technologies/rust/interview-questions/concurrency-basics.md): 20 questions, Mid-Level - [async/await](https://sharpskill.dev/en/technologies/rust/interview-questions/async-await.md): 22 questions, Mid-Level - [Testing](https://sharpskill.dev/en/technologies/rust/interview-questions/testing.md): 18 questions, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/en/technologies/rust/interview-questions/cargo-ecosystem.md): 18 questions, Mid-Level - [Pattern Matching](https://sharpskill.dev/en/technologies/rust/interview-questions/pattern-matching.md): 18 questions, Mid-Level - [Macros](https://sharpskill.dev/en/technologies/rust/interview-questions/macros.md): 20 questions, Mid-Level - [Serde & Serialization](https://sharpskill.dev/en/technologies/rust/interview-questions/serde-serialization.md): 20 questions, Mid-Level - [Unsafe Rust](https://sharpskill.dev/en/technologies/rust/interview-questions/unsafe-rust.md): 20 questions, Senior - [Advanced Traits](https://sharpskill.dev/en/technologies/rust/interview-questions/advanced-traits.md): 22 questions, Senior - [Advanced Lifetimes](https://sharpskill.dev/en/technologies/rust/interview-questions/advanced-lifetimes.md): 20 questions, Senior - [Type System](https://sharpskill.dev/en/technologies/rust/interview-questions/type-system.md): 20 questions, Senior - [Tokio & Async I/O](https://sharpskill.dev/en/technologies/rust/interview-questions/tokio-async.md): 22 questions, Senior - [Performance Optimization](https://sharpskill.dev/en/technologies/rust/interview-questions/performance-optimization.md): 20 questions, Senior - [Memory Management](https://sharpskill.dev/en/technologies/rust/interview-questions/memory-management.md): 20 questions, Senior - [Web Frameworks](https://sharpskill.dev/en/technologies/rust/interview-questions/web-frameworks.md): 22 questions, Senior - [Database Integration](https://sharpskill.dev/en/technologies/rust/interview-questions/database-integration.md): 20 questions, Senior - [Rust Design Patterns](https://sharpskill.dev/en/technologies/rust/interview-questions/design-patterns.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/rust/interview-questions/error-handling