Các loại lỗi Runtime a. Thứ tự các toán hạng Lỗi xảy ra khi thứ tự thực hiện các toán hạng trong phép tính không rõ ràng. | Active Server Pages 2. Các loại lỗi Runtime a. Thứ tự các toán hạng Lỗi xảy ra khi thứ tự thực hiện các toán hạng trong phép tính không rõ ràng. Ví dụ Xét đoạn mã lệnh sau lấy tổng giá trị 2 và giá trị 3 nhân với giá trị 1 Nếu bạn viết Ketqua giatril giatri2 giatri3 à kết quả sẽ không đúng với kết quả của bài toán. Để khắc phục bạn cần phải viết lại như sau Ketqua giatril giatri2 giatri3 b. Quản lý và định dạng dữ liệu Giả sử có một đoạn mã lấy dữ liệu từ cơ sở dữ liệu Strhoten lấy từ cơ sở dữ liệu Strdiachi lấy từ cơ sở dữ liệu Thongtin strhoten strdiachi . Nếu như trong cơ sở dữ liệu thông tin về một người bất kỳ đều được điền đầy đủ họ tên và địa chỉ đoạn mã trên không báo lỗi. Tuy nhiên nếu chỉ một trong hai thông tin trong cơ sở dữ liệu thiếu khi thực thi trang sẽ báo lỗi. Vì vậy để khắc phục lỗi này bạn cần sử dụng câu lệnh điều kiện if . then . else . để phân từng trường hợp hiển thị. 3. Ngăn ngừa lỗi Một số nguyên tắc để tránh được lỗi trong quá trình viết mã lệnh - Định dạng và canh lề mã lệnh. - Đặt tuỳ chọn Option Explicit. - Chuyển các biến sang kiểu dữ liệu thích hợp. - Sử dụng quy tắc đặt tên biến tốt. - Đóng gói mã lệnh. - Kiểm tra mã mệnh. a. Định dạng và canh lề các câu lệnh Trong khi viết lệnh việc định dạng và canh lề không phải là nguyên nhân gây ra lỗi nhưng đó lại là nguyên nhân khó tìm thấy lỗi khi có lỗi xảy ra. Đối với một đoạn mã lệnh phục vụ cho một công việc nào đó nên có sự phân cách với các đoạn mã lệnh khác đồng thời luôn có chú thích ở mỗi đoạn mã lệnh để dễ dàng tìm kiếm kiểm tra lỗi nếu xảy ra lỗi. Đối với các lệnh điều kiện rẽ nhánh việc canh lề là rất cần thiết nên tuân thủ quy tắc này. Ví dụ If điều kiện 1 then Các câu lệnh Else If điều kiện 2 then Các câu lệnh End if End if Trung tâm phát triển phần mềm - ĐHĐN - 55 - Active Server Pages b. Khai báo biến tường minh VBScript hỗ trợ lệnh Option Explicit. Khi được đặt ở đầu trang có sẽ ngăn cản việc sử dụng những biến chưa khai báo trước bởi lệnh Dim hoặc redim. Đây là điều không .