2012-11-29 13 views
5

Desidero eliminare tutti gli errori che potrebbero apparire nel mio script di accesso VBS.Elimina errori per l'intero script

Posso circondare lo script INTERA 500 linee con:

On Error Resume Next 

'[... whole script (~500 lines of code) ...] 

On Error GoTo 0 

risposta

7

È possibile farlo - anche senza la linea OEG0 - ma non si deve, perché lo script continuerà ad eseguire linee i. .. l'ultimo, anche se un errore nella riga i-1 annulla tutte le ipotesi sulle pre-condizioni necessarie delle azioni in quelle righe. La tua strategia è paragonabile alla guida a occhi chiusi per evitare di essere abbagliata dai fari delle altre auto.

Se non è possibile fare errori resticted a livello locale la gestione di azioni selezionate -

... 
On Error Resume Next 
    risky_action 
    save Err 
On Error GoTo 0 
If ErrorOccurred Then 
    something sensible 
    If can't continue Then 
     WScript.Quit 4711 
    End If 
End If 
... 

cercare di farla franca con

Sub Main() 
    ... you 500 lines ... 
End Sub 

On Error Resume Next 
    Main 
    If Err.Number Then 
    WScript.Echo "aborted" 
    WScript.Quit 4711 
    End If 

Questo approccio fa sì che le righe dopo un errore non lo farà essere eseguito.

+2

Sei una specie di dio VBS? –

+1

@JonathanRioux - no, perché allora avrei creato VBScript in modo che ogni tipo di errore fosse impossibile. –

+0

Così dannatamente vero! Quindi sei solo un altro ragazzo? –