コマンド ライン プログラムは ERRORLEVEL をオペレーティングシステムに返し、呼び出し側プログラムはこれを分析して、実行時に発生したことを判断できます。次の表ではエラーについて説明します。
| コード | 説明 | スクリプトのステータスとして出力ファイルで返されるかどうか |
|---|---|---|
| 0 | エラーはありません。すべてのスクリプトは正常に実行されました。 | はい |
| 1 | 致命的なエラー。コマンド ライン プログラムをまったく実行できません。言語リソース ファイルがないことが理由の 1 つと考えられます。 | いいえ |
| 2 | Silk Test COM オブジェクトを作成できませんでした。COM オブジェクトが登録されたことを確認してください。Silk Test.exe を実行すると COM オブジェクトが登録されることに注意してください。 | いいえ |
| 3 | DSN、ユーザー名、パスワードのいずれかが正しくありません。詳細については、「Silk Central から STW.EXE を実行するための前提条件」を参照してください。 | いいえ |
| 4 | スクリプト名が指定されていません。 | いいえ |
| 5 | 指定プロジェクトが見つかりませんでした。 | いいえ |
| 6 | 指定スクリプトが見つかりませんでした。 | いいえ |
| 7 | 指定実行環境が見つかりませんでした。 | いいえ |
| 8 | スクリプトのパラメータが無効です。指定したスクリプトのパラメータが少なすぎるか多すぎるか、パラメータが見つかりませんでした。 | いいえ |
| 9 | スクリプトの実行が完了しませんでした。最後に達する前に停止した可能性がありますが、再生エラーという結果にはなっていません。 | はい |
| 10 | スクリプトで再生エラーが発生しました。 | はい |
| 11 | スクリプトが実行できなかったか、スクリプトの検証がエラーになりました。 | はい |
| 12 | 複数の問題が発生しました。たとえば、スクリプトがエラーになり、スクリプト再生エラーが検出されました。 | いいえ |
| 13 | -file オプションのためにコマンド ラインを処理できなかった場合、これが返されます。たとえば、ファイルが存在しないか、ファイルの再帰がある場合です。 | いいえ |
| 14 | コマンド ライン ウィンドウの停止またはシャットダウンを行う方法はさまざまです。Ctrl+C、Ctrl+Break、Windows からのログアウト、Windows のシャットダウンのいずれかにより、コマンド ラインは閉じるか停止します。このような操作は捕えられて、このエラー コードが返されます。ウィンドウを閉じると、スクリプトの停止、製品のログアウト、SilkTest.EXE のアンロードも行われます。 | いいえ |
バッチ ファイルで ERRORLEVEL を確認する方法は多数あります。次の例で 1 つの方法について説明します。
@ECHO OFF
SETLOCAL
REM ----------------------------------------------------------------------------
REM Define the error codes that can be returned by STW.EXE
REM ----------------------------------------------------------------------------
SET eNoError=0
SET eFatalError=2
SET eUnableToCreateComObject=2
SET eLoginFailed=3
SET eNoScriptSpecified=4
SET eProjectNotFound=5
SET eScriptNotFound=6
SET eRunEnvNotFound=7
SET eInvalidScriptParameters=8
SET eScriptDidNotComplete=9
SET eScriptPlaybackError=10
SET eScriptFailed=11
SET eMultipleProblems=12
REM ----------------------------------------------------------------------------
REM Run STW.EXE
REM ----------------------------------------------------------------------------
@ECHO ON
STW.EXE -username Admin -dsn STW-Scratch -script ScriptNotFound
@ECHO.
@ECHO OFF
REM ----------------------------------------------------------------------------
REM Anything greater than 12 is unknown, can be caused if the command
REM processor cannot find STW.EXE.
REM ----------------------------------------------------------------------------
IF %ERRORLEVEL% GTR %eMultipleProblems% (
ECHO STW.EXE returned an unknown return code %ERRORLEVEL%
GOTO END
)
REM ----------------------------------------------------------------------------
REM Check the specific error codes here.
REM ----------------------------------------------------------------------------
IF %ERRORLEVEL% EQU %eMultipleProblems% (
ECHO eMultipleProblems
GOTO END
)
IF %ERRORLEVEL% EQU %eScriptFailed% (
ECHO eScriptFailed
GOTO END
)
IF %ERRORLEVEL% EQU %eScriptPlaybackError% (
ECHO eScriptPlaybackError
GOTO END
)
IF %ERRORLEVEL% EQU %eScriptDidNotComplete% (
ECHO eScriptDidNotComplete
GOTO END
)
IF %ERRORLEVEL% EQU %eInvalidScriptParameters% (
ECHO eInvalidScriptParameters
GOTO END
)
IF %ERRORLEVEL% EQU %eRunEnvNotFound% (
ECHO eRunEnvNotFound
GOTO END
)
IF %ERRORLEVEL% EQU %eScriptNotFound% (
ECHO eScriptNotFound
GOTO END
)
IF %ERRORLEVEL% EQU %eProjectNotFound% (
ECHO eProjectNotFound
GOTO END
)
IF %ERRORLEVEL% EQU %eNoScriptSpecified% (
ECHO eNoScriptSpecified
GOTO END
)
IF %ERRORLEVEL% EQU %eLoginFailed% (
ECHO eLoginFailed
GOTO END
)
IF %ERRORLEVEL% EQU %eUnableToCreateComObject% (
ECHO eUnableToCreateComObject
GOTO END
)
IF %ERRORLEVEL% EQU %eFatalError% (
ECHO eFatalError
GOTO END
)
IF %ERRORLEVEL% EQU %eNoError% (
ECHO eNoError
GOTO END
)
:END
ENDLOCAL