私はC#でのプログラミングに慣れています。C#には、かなり堅牢なエラー処理がいくつかあります。現在、VBScriptで短いプロジェクトに取り組んでいます。 "On Error _______"とErr
グローバル変数を使用したVBscriptでのエラー処理について読みました。
ただし、独自のエラーを生成する方法はありますか?たとえば、関数の1つに間違ったタイプのパラメーターが渡された場合、その時点でスクリプトが完全に失敗し、続行を試みます。
はい、できます。使用 - Err.Raise
メソッド、例:
Err.Raise 5 ' Invalid procedure call or argument
VBScriptの標準エラーコードのリストについては、「 エラー(VBScript) 」を参照してください。
@ helen の answer は正しいのですが、少しスパースです。
Err.Raise()
メソッドについて詳しく説明しますが、いくつかの重要なポイントを逃しています。
元の質問 から
しかし、自分のエラーを生成する方法はありますか?たとえば、関数の1つに間違ったタイプのパラメーターが渡された場合、スクリプトがその時点で失敗するのではなく、続行しようとします。
Err.Raise()
は非常に用途が広く、既存の例外をスローできます(すでに説明したように)が、まったく新しいユーザー定義の例外をスローすることもできます。
Call Err.Raise(vbObjectError + 10, "My Application", "My custom error message")
vbObjectError
(-2147221504
)は、ユーザー定義のエラーを発生させるための境界を定義する組み込みのVBScript定数です。
try {
// some code
} catch( Exception e ) {
// error handler
} finally {
// clean up things
}
on error resume next
' some code
if( Err.number <> 0 ) then
' error handler -- you can use Err.raise() here to display your own errors
Err.clear()
else
' clean up things
end if
on error goto 0
良いVBScriptの例については、 ASP Xtreme Evolutionプロジェクト を確認できます。