Rust

Xử lý lỗi

Result<T, E>, Option<T>, unwrap, expect, ?, lỗi tùy chỉnh, lan truyền lỗi

18 câu hỏi phỏng vấn·
Junior
1

Kiểu Rust nào biểu diễn một giá trị có thể có hoặc không có?

Câu trả lời

Option<T> là một enum có thể là Some(T) chứa một giá trị, hoặc None biểu thị sự vắng mặt của giá trị. Kiểu này thay thế các giá trị null có trong các ngôn ngữ khác và buộc lập trình viên phải xử lý rõ ràng trường hợp giá trị vắng mặt, từ đó tránh được các lỗi con trỏ null lúc chạy.

2

Kiểu Rust nào biểu diễn một thao tác có thể thành công hoặc thất bại với một lỗi?

Câu trả lời

Result<T, E> là một enum với hai biến thể: Ok(T) cho trường hợp thành công, chứa giá trị trả về, và Err(E) cho trường hợp thất bại, chứa lỗi. Kiểu này buộc phải xử lý lỗi một cách rõ ràng thay vì dùng exception, giúp mã dễ dự đoán hơn và lỗi dễ thấy hơn.

3

Phương thức unwrap() làm gì trên một Option<T>?

Câu trả lời

unwrap() trả về giá trị chứa trong Some(T) nếu nó tồn tại. Nếu Option là None, chương trình sẽ panic (panic!) và dừng ngay lập tức. Phương thức này tiện cho việc dựng nguyên mẫu nhưng nên tránh trong môi trường production vì nó không xử lý trường hợp None một cách nhẹ nhàng.

4

Sự khác biệt giữa unwrap() và expect() là gì?

5

Toán tử ? làm gì trong một hàm trả về Result<T, E>?

+15 câu hỏi phỏng vấn

Nắm vững Rust cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí