VBScript - Manejo de errores

Hay tres tipos de errores en la programación: (a) errores de sintaxis, (b) errores en tiempo de ejecución y (c) errores lógicos.

Errores de sintaxis

Los errores de sintaxis, también llamados errores de análisis, ocurren en el momento de la interpretación de VBScript. Por ejemplo, la siguiente línea provoca un error de sintaxis porque le falta un paréntesis de cierre:

<script type = "text/vbscript">

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

</script>

Errores en tiempo de ejecución

Los errores de tiempo de ejecución, también llamados excepciones, ocurren durante la ejecución, después de la interpretación. Por ejemplo, la siguiente línea causa un error en tiempo de ejecución porque aquí la sintaxis es correcta pero en el tiempo de ejecución está intentando llamar a fnmultiply, que es una función que no existe -

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

Errores lógicos

Los errores lógicos pueden ser el tipo de error más difícil de rastrear. Estos errores no son el resultado de un error de sintaxis o de tiempo de ejecución. En cambio, ocurren cuando comete un error en la lógica que impulsa su secuencia de comandos y no obtiene el resultado que esperaba. No puede detectar esos errores, porque depende de los requisitos de su negocio qué tipo de lógica desea poner en su programa. Por ejemplo, dividir un número por cero o un guión escrito que entra en un bucle infinito.

Err objeto

AAupongamos que si tenemos un error de tiempo de ejecución, la ejecución se detiene mostrando el mensaje de error. Como desarrollador, si queremos capturar el error, entoncesError Se utiliza el objeto.

Ejemplo

En el siguiente ejemplo, Err.Number da el número de error y Err.Description da una descripción del error.

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

</script>