VBScript - Xử lý lỗi

Có ba loại lỗi trong lập trình: (a) Lỗi cú pháp, (b) Lỗi thời gian chạy và (c) Lỗi logic.

Lỗi cú pháp

Lỗi cú pháp, còn được gọi là lỗi phân tích cú pháp, xảy ra tại thời điểm diễn giải VBScript. Ví dụ: dòng sau đây gây ra lỗi cú pháp vì nó thiếu dấu ngoặc đóng -

<script type = "text/vbscript">

   dim x,y
   x = "Tutorialspoint"
   y = Ucase(x

</script>

Lỗi thời gian chạy

Lỗi thời gian chạy, còn được gọi là ngoại lệ, xảy ra trong quá trình thực thi, sau khi diễn giải. Ví dụ: dòng sau gây ra lỗi thời gian chạy bởi vì cú pháp ở đây là chính xác nhưng trong thời gian chạy, nó đang cố gắng gọi fnmultiply, là một hàm không tồn tại -

<script type = "text/vbscript">
   Dim x,y
   x = 10
   y = 20
   z = fnadd(x,y)
   a = fnmultiply(x,y)
   
   Function fnadd(x,y)
      fnadd = x+y
   End Function

</script>

Lỗi logic

Lỗi logic có thể là loại lỗi khó theo dõi nhất. Những lỗi này không phải là kết quả của lỗi cú pháp hoặc lỗi thời gian chạy. Thay vào đó, chúng xảy ra khi bạn mắc lỗi logic điều khiển tập lệnh của bạn và bạn không nhận được kết quả như mong đợi. Bạn không thể mắc phải những lỗi đó, bởi vì nó phụ thuộc vào yêu cầu kinh doanh của bạn loại logic nào bạn muốn đưa vào chương trình của mình. Ví dụ: chia một số cho 0 hoặc một tập lệnh được viết đi vào vòng lặp vô hạn.

Đối tượng Err

Nếu chúng ta gặp lỗi thời gian chạy, quá trình thực thi sẽ dừng lại bằng cách hiển thị thông báo lỗi. Là một nhà phát triển, nếu chúng tôi muốn ghi lại lỗi, thìError Đối tượng được sử dụng.

Thí dụ

Trong ví dụ dưới đây, Err.Number đưa ra số lỗi và Err.Description đưa ra mô tả lỗi.

<script type = "text/vbscript">
  
  Err.Raise 6     ' Raise an overflow error.
  MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
  Err.Clear       ' Clear the error.

</script>