Rust

Обробка помилок

Result<T, E>, Option<T>, unwrap, expect, ?, користувацькі помилки, поширення помилок

18 питань зі співбесід·
Junior
1

Який тип Rust представляє значення, яке може бути наявним або відсутнім?

Відповідь

Option<T> — це enum, який може бути або Some(T), що містить значення, або None, що вказує на відсутність значення. Цей тип замінює значення null, наявні в інших мовах, і змушує розробника явно обробляти випадок, коли значення відсутнє, тим самим уникаючи помилок нульового вказівника під час виконання.

2

Який тип Rust представляє операцію, яка може завершитися успіхом або невдачею з помилкою?

Відповідь

Result<T, E> — це enum із двома варіантами: Ok(T) для успіху, що містить значення, яке повертається, та Err(E) для невдачі, що містить помилку. Цей тип змушує обробляти помилки явно замість використання винятків, роблячи код передбачуванішим, а помилки помітнішими.

3

Що робить метод unwrap() для Option<T>?

Відповідь

unwrap() повертає значення, що міститься в Some(T), якщо воно існує. Якщо Option дорівнює None, програма панікує (panic!) і негайно зупиняється. Цей метод зручний для прототипування, але його слід уникати у продакшені, оскільки він не обробляє випадок None коректно.

4

Яка різниця між unwrap() та expect()?

5

Що робить оператор ? у функції, яка повертає Result<T, E>?

+15 питань зі співбесід

Опануй Rust для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно