8

我想抑制所有可能出现在我的 VBS 登录脚本中的错误。

我可以用以下内容围绕整个 500 行脚本:

On Error Resume Next

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

On Error GoTo 0
4

1 回答 1

12

可以这样做——即使没有 OEG0 行——但你不应该这样做,因为脚本将继续执行 i ... last 行,即使 i-1 行中的错误使你对必要先决条件的所有假设都无效这些行中的动作。你的策略相当于闭着眼睛开车,以免被其他汽车的车头灯弄得眼花缭乱。

如果您不能对选定的操作进行本地限制的错误处理 -

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

试图摆脱

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

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

这种方法确保错误后的行不会被执行。

于 2012-11-29T14:40:42.817 回答