59 votos

¿Qué significa el "On Error Resume Next" hacer declaración?

Llegué a algunos ejemplos de VBScript, y vi la declaración On Error Resume Next básicamente al principio de la secuencia de comandos.

¿Qué hace?

79voto

David Puntos 1715

Básicamente dice el programa cuando se produce un error de continuar en la línea siguiente.

39voto

Tmdean Puntos 4594

Cabe señalar que aun cuando On Error Resume Next es en efecto, el objeto Err todavía se rellena cuando se produce un error, así que todavía puede hacer manejo de errores C-estilo.

On Error Resume Next

DangerousOperationThatCouldCauseErrors

If Err Then
    WScript.StdErr.WriteLine "error " & Err.Number
    WScript.Quit 1
End If

On Error GoTo 0

24voto

Cuando se produce un error, la ejecución continuará en la siguiente línea sin interrumpir la secuencia de comandos.

12voto

t0mm13b Puntos 21031

Esto significa que, cuando ocurre un error en la línea, es decir vbscript para continuar la ejecución sin abortar la secuencia de comandos. A veces, el On Error sigue la Goto etiqueta para alterar el flujo de ejecución, algo como esto en un Sub bloque de código, ahora usted sabe por qué y cómo el uso de GOTO puede resultar en espaguetis código:

Sub MySubRoutine()
 On Error Goto ErrorHandler

 REM código de VB...

 REM Más el Código de VB...

Exit_MySubRoutine:

 REM Deshabilitar el Controlador de Errores!

 On Error Goto 0

 REM Dejar....
 Exit Sub

ErrorHandler:

 REM Hacer algo sobre el Error

 Goto Exit_MySubRoutine
End Sub

Espero que esto ayude, Saludos cordiales, Tom.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X