# Xử lý lỗi (Go) > Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover - 20 câu hỏi phỏng vấn - Junior - [Câu hỏi phỏng vấn: Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van.md) ## 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. ## Còn 17 câu hỏi nữa - Động từ định dạng nào cho phép bao bọc một lỗi với fmt.Errorf()? - 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? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Go khác - [Kiến thức cơ bản về Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-basics.md): 25 câu hỏi, Junior - [Cấu trúc dữ liệu Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-data-structures.md): 20 câu hỏi, Junior - [Interface trong Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-interfaces.md): 18 câu hỏi, Junior - [Cơ bản về Goroutine](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/goroutines-basics.md): 20 câu hỏi, Junior - [Channels](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/channels.md): 22 câu hỏi, Junior - [Go Modules](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-modules.md): 18 câu hỏi, Mid-Level - [Máy chủ HTTP](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/http-server.md): 24 câu hỏi, Mid-Level - [HTTP Client](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/http-client.md): 18 câu hỏi, Mid-Level - [Mã hóa JSON](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/json-encoding.md): 20 câu hỏi, Mid-Level - [Database/SQL](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/database-sql.md): 22 câu hỏi, Mid-Level - [Gói context](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/context-package.md): 20 câu hỏi, Mid-Level - [Testing](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/testing.md): 22 câu hỏi, Mid-Level - [Các mẫu Concurrency](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/concurrency-patterns.md): 24 câu hỏi, Mid-Level - [Primitive đồng bộ hóa](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/sync-primitives.md): 22 câu hỏi, Mid-Level - [Framework web Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-web-frameworks.md): 20 câu hỏi, Mid-Level - [Thiết kế API REST](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/rest-api-design.md): 20 câu hỏi, Mid-Level - [gRPC](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/grpc.md): 22 câu hỏi, Mid-Level - [Reflection](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/reflection.md): 20 câu hỏi, Senior - [Quản lý bộ nhớ](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/memory-management.md): 24 câu hỏi, Senior - [Tối ưu hóa hiệu năng](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Generics](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/generics.md): 20 câu hỏi, Senior - [Go Design Patterns](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/design-patterns.md): 24 câu hỏi, Senior - [Microservices](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/microservices.md): 24 câu hỏi, Senior - [Bảo mật và Xác thực](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/security-authentication.md): 24 câu hỏi, Senior - [Docker & Containerization](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/docker-containerization.md): 20 câu hỏi, Senior - [Kubernetes Basics](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/kubernetes-basics.md): 22 câu hỏi, Senior - [Go Nâng cao](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/advanced-go.md): 20 câu hỏi, Senior - [Phát triển CLI](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/cli-development.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/error-handling