1. Kiến thức trọng tâm
Trong quá trình lập trình, lỗi là điều không thể tránh khỏi. Việc nhận biết đúng loại lỗi giúp sửa lỗi nhanh hơn. Có ba loại lỗi thường gặp: lỗi cú pháp, lỗi thời gian chạy và lỗi logic.
Lỗi cú pháp xảy ra khi chương trình viết sai quy tắc của ngôn ngữ, ví dụ thiếu dấu hai chấm, sai thụt lề, thiếu dấu ngoặc. Trình thông dịch sẽ báo lỗi ngay và chương trình không chạy được. Đây là loại lỗi dễ phát hiện nhất vì thông báo lỗi chỉ rõ vị trí và nguyên nhân.
Lỗi thời gian chạy xảy ra khi chương trình chạy đến một câu lệnh không thực hiện được, ví dụ chia cho 0, truy cập chỉ số ngoài phạm vi danh sách, hoặc nhập chữ vào chỗ cần số. Chương trình sẽ dừng đột ngột và hiển thị thông báo lỗi.
Lỗi logic là loại lỗi khó phát hiện nhất: chương trình vẫn chạy bình thường nhưng cho kết quả sai vì thuật toán hoặc công thức không đúng. Lỗi logic chỉ được phát hiện khi kiểm tra kết quả bằng các bộ dữ liệu thử.
2. Ví dụ minh họa
Ví dụ: Xét ba đoạn chương trình sau, hãy xác định loại lỗi của từng đoạn.
Đoạn 1: if x > 5 (thiếu dấu hai chấm) — lỗi cú pháp, chương trình không chạy được.
Đoạn 2: print(10 / 0) — lỗi thời gian chạy, chương trình dừng khi thực hiện phép chia cho 0.
Đoạn 3: Chương trình tính chu vi hình vuông bằng công thức chu_vi = canh * canh — lỗi logic, vì công thức đúng phải là chu_vi = 4 * canh. Chương trình vẫn chạy nhưng cho kết quả sai.
3. Ghi nhớ
- Lỗi cú pháp: sai quy tắc ngôn ngữ, chương trình không chạy được.
- Lỗi thời gian chạy: chương trình dừng đột ngột khi gặp lệnh không thực hiện được.
- Lỗi logic: chương trình chạy nhưng cho kết quả sai, khó phát hiện nhất.
