Menu
CoddyTech

Tìm hiểu `panic`

Thuộc phần Logic và luồng điều khiển trong hành trình GO của Coddy. Bài học 42 trên 68.

Trong Go, panic là hàm tích hợp sẵn, dùng trong những tình huống thực sự ngoại lệ khi chương trình gặp lỗi không thể khắc phục và phải dừng ngay lập tức. Khác với các lỗi thông thường mà bạn xử lý một cách nhẹ nhàng, panic chỉ dành cho những lỗi nghiêm trọng cho thấy có điều gì đó sai căn bản trong logic hoặc môi trường của chương trình.

Khi gọi panic, chương trình lập tức dừng việc thực thi bình thường của hàm hiện tại và bắt đầu tháo gỡ ngăn xếp lời gọi. Điều này khiến cách xử lý rất khác với cách làm phổ biến trong Go là trả về lỗi để đoạn code gọi hàm xử lý.

Trong Go, người ta hiếm khi dùng panic. Cộng đồng Go ưu tiên xử lý lỗi tường minh thông qua giá trị trả về hơn là xử lý lỗi bằng panic. Bạn có thể gặp panic trong những tình huống như truy cập phần tử ngoài phạm vi của mảng, giải tham chiếu con trỏ nil hoặc khi thư viện phát hiện trạng thái bất khả thi cho thấy có lỗi lập trình.

Hầu hết chương trình Go nên xử lý lỗi một cách thích hợp bằng interface error chuẩn mà bạn đã tìm hiểu. Chỉ nên cân nhắc dùng panic khi chương trình thực sự không còn cách hợp lý nào để tiếp tục chạy.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng điều khiển

Tự luyện tập: Trình biên dịch Go online