# Gestione degli errori (Rust) > Result, Option, unwrap, expect, ?, errori personalizzati, propagazione degli errori - 18 domande da colloquio - Junior - [Domande da colloquio: Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio.md) ## 1. Quale tipo Rust rappresenta un valore che può essere presente o assente? **Risposta** Option è un enum che può essere Some(T) contenente un valore, oppure None che indica l'assenza di un valore. Questo tipo sostituisce i valori null presenti in altri linguaggi e costringe lo sviluppatore a gestire esplicitamente il caso in cui il valore è assente, evitando così gli errori di puntatore null a runtime. ## 2. Quale tipo Rust rappresenta un'operazione che può avere successo o fallire con un errore? **Risposta** Result è un enum con due varianti: Ok(T) per il successo, che contiene il valore di ritorno, e Err(E) per il fallimento, che contiene l'errore. Questo tipo obbliga a gestire gli errori in modo esplicito anziché usare le eccezioni, rendendo il codice più prevedibile e gli errori più visibili. ## 3. Cosa fa il metodo unwrap() su un Option? **Risposta** unwrap() restituisce il valore contenuto in Some(T) se esiste. Se l'Option è None, il programma va in panic (panic!) e si arresta immediatamente. Questo metodo è comodo per la prototipazione ma andrebbe evitato in produzione perché non gestisce in modo elegante il caso None. ## Altre 15 domande disponibili - Qual è la differenza tra unwrap() ed expect()? - Cosa fa l'operatore ? in una funzione che restituisce Result? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio Rust - [Fondamenti di Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio/rust-basics.md): 25 domande, Junior - [Ownership & Borrowing](https://sharpskill.dev/it/technologies/rust/domande-colloquio/ownership-borrowing.md): 22 domande, Junior - [Structs & Enums](https://sharpskill.dev/it/technologies/rust/domande-colloquio/structs-enums.md): 20 domande, Junior - [Collezioni](https://sharpskill.dev/it/technologies/rust/domande-colloquio/collections.md): 20 domande, Junior - [Moduli e package](https://sharpskill.dev/it/technologies/rust/domande-colloquio/modules-packages.md): 18 domande, Junior - [Traits](https://sharpskill.dev/it/technologies/rust/domande-colloquio/traits.md): 22 domande, Mid-Level - [Generics](https://sharpskill.dev/it/technologies/rust/domande-colloquio/generics.md): 20 domande, Mid-Level - [Lifetimes](https://sharpskill.dev/it/technologies/rust/domande-colloquio/lifetimes.md): 20 domande, Mid-Level - [Iterators & Closures](https://sharpskill.dev/it/technologies/rust/domande-colloquio/iterators-closures.md): 22 domande, Mid-Level - [Smart Pointers](https://sharpskill.dev/it/technologies/rust/domande-colloquio/smart-pointers.md): 22 domande, Mid-Level - [Concurrency Basics](https://sharpskill.dev/it/technologies/rust/domande-colloquio/concurrency-basics.md): 20 domande, Mid-Level - [async/await](https://sharpskill.dev/it/technologies/rust/domande-colloquio/async-await.md): 22 domande, Mid-Level - [Testing](https://sharpskill.dev/it/technologies/rust/domande-colloquio/testing.md): 18 domande, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/it/technologies/rust/domande-colloquio/cargo-ecosystem.md): 18 domande, Mid-Level - [Pattern Matching](https://sharpskill.dev/it/technologies/rust/domande-colloquio/pattern-matching.md): 18 domande, Mid-Level - [Macro](https://sharpskill.dev/it/technologies/rust/domande-colloquio/macros.md): 20 domande, Mid-Level - [Serde e serializzazione](https://sharpskill.dev/it/technologies/rust/domande-colloquio/serde-serialization.md): 20 domande, Mid-Level - [Unsafe Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio/unsafe-rust.md): 20 domande, Senior - [Trait avanzati](https://sharpskill.dev/it/technologies/rust/domande-colloquio/advanced-traits.md): 22 domande, Senior - [Lifetime Avanzati](https://sharpskill.dev/it/technologies/rust/domande-colloquio/advanced-lifetimes.md): 20 domande, Senior - [Type System](https://sharpskill.dev/it/technologies/rust/domande-colloquio/type-system.md): 20 domande, Senior - [Tokio & Async I/O](https://sharpskill.dev/it/technologies/rust/domande-colloquio/tokio-async.md): 22 domande, Senior - [Ottimizzazione delle Prestazioni](https://sharpskill.dev/it/technologies/rust/domande-colloquio/performance-optimization.md): 20 domande, Senior - [Memory Management](https://sharpskill.dev/it/technologies/rust/domande-colloquio/memory-management.md): 20 domande, Senior - [Web Frameworks](https://sharpskill.dev/it/technologies/rust/domande-colloquio/web-frameworks.md): 22 domande, Senior - [Database Integration](https://sharpskill.dev/it/technologies/rust/domande-colloquio/database-integration.md): 20 domande, Senior - [Design Pattern in Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio/design-patterns.md): 20 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/rust/domande-colloquio/error-handling