Go

Xử lý lỗi

Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover

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

Interface nào được dùng để biểu diễn lỗi trong Go?

Câu trả lời

Interface error là interface được định nghĩa sẵn trong Go để biểu diễn các tình trạng lỗi. Nó chứa một phương thức duy nhất Error() trả về một chuỗi mô tả lỗi. Giá trị nil biểu thị không có lỗi. Đây là interface quy ước được sử dụng bởi tất cả các package của thư viện chuẩn và bởi các lập trình viên Go để báo hiệu và lan truyền lỗi.

2

Làm thế nào để tạo một lỗi đơn giản với thông điệp tĩnh trong Go?

Câu trả lời

Hàm errors.New() từ package errors tạo một lỗi đơn giản với thông điệp tĩnh. Nó trả về một kiểu error triển khai interface error với thông điệp được cung cấp. Cách tiếp cận này được khuyến nghị để tạo các lỗi sentinel (các lỗi định nghĩa sẵn như os.ErrNotExist) hoặc các lỗi đơn giản không có ngữ cảnh động. Đối với thông điệp động, hãy dùng fmt.Errorf().

3

Hàm nào cho phép tạo một lỗi với thông điệp được định dạng động?

Câu trả lời

Hàm fmt.Errorf() tạo một lỗi với thông điệp được định dạng động bằng cách dùng các động từ định dạng (như %s, %d, %v). Nó cũng hỗ trợ động từ đặc biệt %w để bao bọc một lỗi hiện có, qua đó bảo toàn chuỗi lỗi để kiểm tra về sau. Đây là phương pháp được khuyến nghị để thêm ngữ cảnh vào lỗi trong khi vẫn giữ lỗi gốc.

4

Động từ định dạng nào cho phép bao bọc một lỗi với fmt.Errorf()?

5

Hàm nào kiểm tra xem một lỗi đã bao bọc có khớp với một lỗi cụ thể không?

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

Nắm vững Go 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í