
Obsługa błędów
Result<T, E>, Option<T>, unwrap, expect, ?, niestandardowe błędy, propagacja błędów
1Który typ Rust reprezentuje wartość, która może być obecna lub nieobecna?
Który typ Rust reprezentuje wartość, która może być obecna lub nieobecna?
Odpowiedź
Option<T> to enum, który może być albo Some(T) zawierającym wartość, albo None oznaczającym brak wartości. Ten typ zastępuje wartości null obecne w innych językach i zmusza programistę do jawnej obsługi przypadku braku wartości, dzięki czemu unika się błędów wskaźnika null w czasie wykonania.
2Który typ w Rust reprezentuje operację, która może się powieść lub zakończyć niepowodzeniem z błędem?
Który typ w Rust reprezentuje operację, która może się powieść lub zakończyć niepowodzeniem z błędem?
Odpowiedź
Result<T, E> to enum z dwiema wariantami: Ok(T) dla sukcesu, zawierający wartość zwracaną, oraz Err(E) dla niepowodzenia, zawierający błąd. Ten typ wymusza jawną obsługę błędów zamiast używania wyjątków, dzięki czemu kod jest bardziej przewidywalny, a błędy bardziej widoczne.
3Co robi metoda unwrap() na Option<T>?
Co robi metoda unwrap() na Option<T>?
Odpowiedź
unwrap() zwraca wartość zawartą w Some(T), jeśli istnieje. Jeśli Option to None, program panikuje (panic!) i natychmiast się zatrzymuje. Ta metoda jest wygodna do prototypowania, ale należy jej unikać w produkcji, ponieważ nie obsługuje przypadku None w sposób elegancki.
Jaka jest różnica między unwrap() a expect()?
Co robi operator ? w funkcji, która zwraca Result<T, E>?
+15 pytań z rozmów
Inne tematy rekrutacyjne Rust
Podstawy Rusta
Ownership & Borrowing
Structs & Enums
Kolekcje
Moduły i pakiety
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Makra
Serde i serializacja
Unsafe Rust
Zaawansowane traity
Zaawansowane Lifetime
Type System
Tokio & Async I/O
Optymalizacja Wydajności
Memory Management
Web Frameworks
Database Integration
Wzorce projektowe w Rust
Opanuj Rust na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo