VBScript - обработка ошибок

В программировании есть три типа ошибок: (а) синтаксические ошибки, (б) ошибки времени выполнения и (в) логические ошибки.

Синтаксические ошибки

Во время интерпретации VBScript возникают синтаксические ошибки, также называемые ошибками синтаксического анализа. Например, следующая строка вызывает синтаксическую ошибку, потому что в ней отсутствует закрывающая скобка -

<script type = "text/vbscript">

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

</script>

Ошибки времени выполнения

Ошибки времени выполнения, также называемые исключениями, возникают во время выполнения после интерпретации. Например, следующая строка вызывает ошибку времени выполнения, потому что здесь синтаксис правильный, но во время выполнения он пытается вызвать несуществующую функцию fnmultiply:

<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>

Логические ошибки

Логические ошибки могут быть наиболее трудным для отслеживания типом ошибок. Эти ошибки не являются результатом синтаксической ошибки или ошибки времени выполнения. Вместо этого они возникают, когда вы ошибаетесь в логике, управляющей вашим сценарием, и не получаете ожидаемого результата. Вы не можете отловить эти ошибки, потому что от требований вашего бизнеса зависит, какой тип логики вы хотите добавить в свою программу. Например, деление числа на ноль или написанный скрипт входит в бесконечный цикл.

Err Object

A Предположим, что если у нас есть ошибка времени выполнения, то выполнение останавливается с отображением сообщения об ошибке. Если мы как разработчик хотим зафиксировать ошибку, тоError Объект используется.

пример

В приведенном ниже примере Err.Number дает номер ошибки и Err.Description дает описание ошибки.

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

</script>