Ba loại lỗi trong lập trình
Bài 4/5 · khoảng 7 phút đọc
Ai lập trình cũng gặp lỗi, kể cả chuyên gia. Điều quan trọng là hiểu lỗi nói gì để sửa. Có ba loại lỗi chính.
1. Lỗi cú pháp (Syntax error)
Bạn viết sai quy tắc của ngôn ngữ — như viết câu sai ngữ pháp. Python không hiểu nên không chạy chương trình, và báo vị trí lỗi.
print("Xin chào"Ở đây thiếu dấu ngoặc ). PyKid dịch lỗi sang tiếng Việt cho bạn: "Có dấu ngoặc mở nhưng chưa đóng".
2. Lỗi khi chạy (Runtime error)
Câu lệnh đúng ngữ pháp nhưng không thể thực hiện khi chạy. Chương trình chạy đến đó thì dừng lại.
print("Bắt đầu")print(10 / 0)Chia cho 0 là không thể, nên Python báo ZeroDivisionError. Lưu ý dòng "Bắt đầu" vẫn được in vì nó chạy trước chỗ lỗi.
3. Lỗi logic (Logic error)
Chương trình chạy được, không báo lỗi gì, nhưng cho kết quả sai vì bạn nghĩ sai cách làm. Đây là loại lỗi khó phát hiện nhất, vì máy tính không tự biết kết quả nào là "đúng".
# Muốn tính trung bình của 4 và 6, nhưng viết thiếu ngoặcprint(4 + 6 / 2)Kết quả là 7.0 chứ không phải 5.0, vì phép chia được tính trước. Python không báo lỗi — chỉ bạn mới biết kết quả sai.
print((4 + 6) / 2)Cách đọc thông báo lỗi
Thông báo lỗi thường có: loại lỗi, số dòng, và mô tả. Hãy đọc từ dòng cuối cùng lên và xem số dòng trước tiên.
Ghi nhớ: lỗi cú pháp (sai quy tắc, không chạy), lỗi khi chạy (chạy rồi dừng), lỗi logic (chạy được nhưng sai kết quả). Đọc kỹ thông báo lỗi — nó đang giúp bạn!
Chương trình chạy bình thường nhưng in ra đáp án sai. Đó là lỗi gì?
Lỗi logic. Cách tìm: tự tính tay một ví dụ nhỏ rồi so với kết quả của chương trình.