
Gestione degli errori
Result<T, E>, Option<T>, unwrap, expect, ?, errori personalizzati, propagazione degli errori
1Quale tipo Rust rappresenta un valore che può essere presente o assente?
Quale tipo Rust rappresenta un valore che può essere presente o assente?
Risposta
Option<T> è 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.
2Quale tipo Rust rappresenta un'operazione che può avere successo o fallire con un errore?
Quale tipo Rust rappresenta un'operazione che può avere successo o fallire con un errore?
Risposta
Result<T, E> è 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.
3Cosa fa il metodo unwrap() su un Option<T>?
Cosa fa il metodo unwrap() su un Option<T>?
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.
Qual è la differenza tra unwrap() ed expect()?
Cosa fa l'operatore ? in una funzione che restituisce Result<T, E>?
+15 domande da colloquio
Altri argomenti di colloquio Rust
Fondamenti di Rust
Ownership & Borrowing
Structs & Enums
Collezioni
Moduli e package
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde e serializzazione
Unsafe Rust
Trait avanzati
Lifetime Avanzati
Type System
Tokio & Async I/O
Ottimizzazione delle Prestazioni
Memory Management
Web Frameworks
Database Integration
Design Pattern in Rust
Padroneggia Rust per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis