2007年4月16日月曜日

WSHでの実行時エラーについてのメモ

拡張子、VBSとWSFの実行時エラー時におけるERRORLEVELの違いについてのメモメモ。

バッチより
CScript.exe hoge.vbs と
CScript.exe hoge.wsf
とやった場合では、スクリプト部の実装が全く同じであっても、実行時エラー発生時におけるERRORLEVELの値に違いが出る。

前者は、実行時エラーが発生しようが、%ERRORLEVEL%は0であり、
後者は、%ERRORLEVEL%が1となって返ってくる。
つまり、前者の場合は実行時エラーを上手にハンドリングしてあげないと、正常終了として返ってきてしまうね。

たとえば
 On Error Resume Next
 Set Hoge = CreateObject("Sonnna.Class.Ne-yo")
 If Err.Number <> 0 Then WScript.Quit(1)
みたいな。

要注意だね!