Rust

Obsługa błędów

Result<T, E>, Option<T>, unwrap, expect, ?, niestandardowe błędy, propagacja błędów

18 pytań z rozmów·
Junior
1

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.

2

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.

3

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.

4

Jaka jest różnica między unwrap() a expect()?

5

Co robi operator ? w funkcji, która zwraca Result<T, E>?

+15 pytań z rozmów

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