Visual Basic Scripting Edition  

Instrucción On Error

Habilita o deshabilita el control de errores.

On Error Resume Next
On Error GoTo 0

Comentarios

Si no utiliza una instrucción On Error Resume Next en algún lugar de su código, cualquier error en tiempo de ejecución que ocurra puede causar que se muestre un mensaje de error y se detenga la ejecución del código. Sin embargo, el host que ejecuta el código determina el comportamiento exacto. El host puede optar algunas veces por controlar errores de forma diferente. En algunos casos, puede invocarse al depurador de secuencia de comandos en el momento del error. En otros casos, puede no haber indicación aparente de que ocurra algún error porque el host no lo notifica al usuario. De nuevo, esto es puramente una función de cómo el host controla los errores que ocurren.

Dentro de un procedimiento particular, un error no es fatal necesariamente si el control de errores está habilitado en algún lugar de la pila de llamadas. Si no se habilita un control de errores local en un procedimiento y ocurre un error, se vuelve atrás el control a través del procedimiento hasta que se encuentre un control de errores habilitado y se controla el error en ese punto. Si no se encuentra un procedimiento en la pila de llamadas para tener habilitado el control de errores, se muestra un mensaje de error en ese punto y se detiene la ejecución o el host controla el error como sea apropiado.

On Error Resume Next hace que la ejecución continúe en la instrucción que sigue a la instrucción que produjo el error en tiempo de ejecución, o con la instrucción que sigue a la llamada más reciente del procedimiento que contiene la instrucción On Error Resume Next. Esto permite que la ejecución continúe aunque se produzca un error en tiempo de ejecución. Puede generar la rutina de control de errores en una línea dentro del procedimiento.

Una instrucción On Error Resume Next se vuelve inactiva cuando se llama a otro procedimiento, por lo que debe ejecutar una instrucción On Error Resume Next en cada rutina de llamada si quiere controlar el error en línea dentro de la rutina. Cuando se sale de un procedimiento, la capacidad de control de errores vuelve al control de errores que estaba en ejecución cuando se entró en el procedimiento del que se sale.

Utilice On Error GoTo 0 para deshabilitar el control de errores si previamente la ha habilitado mediante On Error Resume Next.

El ejemplo siguiente ilustra el uso de la instrucción On Error Resume Next.

On Error Resume Next
Err.Raise 6   ' Aumenta el error por desbordamiento.
MsgBox "Error nº " & CStr(Err.Number) & " " & Err.Description
Err.Clear    ' Borra el error.

Requisitos

Versión 1

Consulte también

Objeto Err | Instrucción Exit

Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com.