エラー

コマンド ライン プログラムは 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+CCtrl+Break、Windows からのログアウト、Windows のシャットダウンのいずれかにより、コマンド ラインは閉じるか停止します。このような操作は捕えられて、このエラー コードが返されます。ウィンドウを閉じると、スクリプトの停止、製品のログアウト、SilkTest.EXE のアンロードも行われます。 いいえ
15 viewportwidth または viewportheight のいずれか一方だけが指定されました。 いいえ
16 viewportname が viewportwidth と viewportheight と同時に指定されました。 いいえ
17 resultformat パラメータの値が無効です。 いいえ

バッチ ファイルを使用して ERRORLEVEL を確認する

バッチ ファイルで 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
SET eCommandCouldNotBeProcessed=13
SET ePrograTerminatedByUser=14
SET eInvalidViewportSize=15
SET eInvalidViewportParameters=16

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
)

IF %ERRORLEVEL% EQU %eCommandCouldNotBeProcessed% (
    ECHO eCommandCouldNotBeProcessed
    GOTO END

IF %ERRORLEVEL% EQU %ePrograTerminatedByUser% (
    ECHO ePrograTerminatedByUser
    GOTO END
)

IF %ERRORLEVEL% EQU %eInvalidViewportSize% (
    ECHO eInvalidViewportSize
    GOTO END
)

IF %ERRORLEVEL% EQU %eInvalidViewportParameters% (
    ECHO eInvalidViewportParameters
    GOTO END
)

:END

ENDLOCAL