91

VBScript を使用してエラーをキャッチし、それらをログに記録し (つまり、エラーで "何かをログに記録")、スクリプトの次の行を再開したいと考えています。

例えば、

エラー時再開次へ
'ステップ 1 を実行
'ステップ 2 を実行
'ステップ 3 を実行

ステップ 1 でエラーが発生した場合、そのエラーをログに記録し (または他のカスタム機能を実行して)、ステップ 2 から再開したいのですが、これは可能ですか? どうすれば実装できますか?

編集:このようなことはできますか?

エラー時に myErrCatch を再開
'ステップ 1 を実行
'ステップ 2 を実行
'ステップ 3 を実行

私のエラーキャッチ:
'ログエラー
次を再開
4

4 に答える 4

165

VBScript には例外をスローまたはキャッチするという概念はありませんが、ランタイムは最後に実行された操作の結果を含むグローバルな Err オブジェクトを提供します。各操作の後、Err.Number プロパティがゼロでないかどうかを明示的に確認する必要があります。

On Error Resume Next

DoStep1

If Err.Number <> 0 Then
  WScript.Echo "Error in DoStep1: " & Err.Description
  Err.Clear
End If

DoStep2

If Err.Number <> 0 Then
  WScript.Echo "Error in DoStop2:" & Err.Description
  Err.Clear
End If

'If you no longer want to continue following an error after that block's completed,
'call this.
On Error Goto 0

「On Error Goto [ラベル]」構文は、Visual Basic および Visual Basic for Applications (VBA) でサポートされていますが、VBScript はこの言語機能をサポートしていないため、上記の On Error Resume Next を使用する必要があります。

于 2008-10-01T14:11:01.407 に答える