- Tham gia
- 30/5/06
- Bài viết
- 1,630
- Được thích
- 17,442
- Nghề nghiệp
- Bác sĩ
Kỹ thuật xử lý lỗi
Bài dịch của Workman
Nếu từ “bug” có nguồn gốc từ một biểu tượng của một con thỏ hoạt hình, thì chương này lại khá đơn giản. đơn giản nhất, một bug là một lỗi trong chương trình của bạn. ở đây tôi sẽ nói về bug lập trình – làm thế nào để xác định chúng và cách xử lý chúng ra khỏi chương trình của mình.
1/ Các loài bug (bọ)
Hoan nghênh đến với ngàn lẻ một loại sâu bọ. khi nói về bug lập trình, như bạn đã biết, ta nói về một trục trặc của một phần mềm. nói cách khác, nếu phần mềm không chạy như dự tính, ta nói phần mềm này có bug. Sự thực là mọi phần mềm trên thế gian này đều có bug – nhiều bug nữa là khác. Có người nói nếu phần mềm không có thì chắc chắn là một phần mềm vứt đi, không đáng để chúng ta quan tâm sử dụng. bản thân Excel có hàng trăm (nếu không nói là hàng ngàn) bug. May mắn thay, một số rất lớn những bug này khá là nhỏ và chỉ xuất hiện trong những trường hợp bất thường.
Khi bạn viết một chương trình VBA, mã của bạn sẽ có bug. Đây là đời thực mà bạn phải chấp nhận, điều này không liên quan gì đến khả năng lập trình của bạn. bug có thể được xếp vào các nhóm sau:
- Lỗ hổng trong logic. Bạn thường tránh những bug này bằng cách suy nghĩ thật kỹ những vấn đề mà chương trình của bạn phải xử lý.
- Bug sai ngữ cảnh. Đây là loại lỗi xuất hiện khi bạn cố gắng ghi dữ liệu vào một ô trong một sheet không phải là loại Worksheet.
- Bug cực đại: là loại bug xảy ra khi bạn gặp phải một loại dữ liệu mà bạn không thể tính được, ví dụ số quá nhỏ hoặc quá lớn
- Bug sai kiểu dữ liệu: là loại lỗi phát sinh do bạn cố gắng xử lý một kiểu dữ liệu sai, ví dụ như bạn cố khai căn của một ký tự chữ.
- Bug sai phiên bản: là loại bug phát sinh khi xử lý những phiên bản Excel khác nhau. Ví dụ, bạn đang xây dựng một workbook sử dụng Excel 204 và sau đó thấy rằng workbook này không làm việc trong Excel 95 hoặc 97. bạn có thể tránh lỗi này bằng cách các đặc điểm của từng loại phiên bản. thông thường cách tiếp cận tốt nhất để phát triển chương trình là bạn sử dụng phiên bản thất nhất mà người sử dụng có.
- Bug vượt quá khả năng lập trình. Là loại bug khó chịu nhất. ví dụ là khi Microsoft nâng cấp bản Excel, những thay đổi chưa được ghi lại có thể làm cho macro bùng nổ.
Xử lý lỗi là một quá trình phát hiện và sửa lỗi trong chương trình của bạn. phát triển kỹ năng xử lý lỗi có thể mất thời gian, do đó đừng nản chí khi thấy phần này quá khó.
Một điều cần lưu ý là các bạn phải phân biệt được bug và lỗi cú pháp. một lỗi cú pháp là một lỗi về ngôn ngữ lập trình. Ví dụ, bạn có thể viết sai chính tả một từ khóa, quên câu lệnh Next trong vòng lặp For-Next. Trước khi bạn chạy chương trình, bạn phải đảm bảo rằng đã sửa hết những lỗi cú pháp. Còn bug chương trình thì đỡ hơn, bạn có thể vẫn chạy được chương trình, nhưng kết quả ra không như mong muốn.
2/ Xác định bug
Trước khi bạn có thể xử lý lỗi, bạn phải xác định xem thực ra có bug hay không. Bạn có thể nói rằng nếu phần mềm không chạy như dự tính, ta nói phần mềm này có bug. Thông thường, nhưng không phải luôn luôn, bạn có thể thấy rõ điều này.
Một bug thường (không phải luôn luôn) được phát hiện khi Excel hiển thị một lỗi run-time error. Hình 13-1 là một ví dụ. Lưu ý rằng thông báo lỗi bao gồm một nút gọi là “Debug”. Tôi sẽ nói rõ hơn trong phần “Nói về sửa bug”.
Điều quan trọng cần nhớ là bug thường xảy ra tại những nơi bạn ít lường tới nhất. ví dụ, chỉ vì macro của bạn làm việc tốt với một dữ liệu nào đó không có nghĩa là nó hoạt động tốt trong mọi loại dữ liệu. cách sửa lỗi tốt nhất là kiểm tra cẩn thận, trong điều kiện thực tế.