1
loop, read, c:\storefile.txt
{
store_select := A_index - 1
sleep, 1000
gosub, selectstore
gosub, login
gosub, makeandorrunreport
gosub, Emailreport
getout: ; label pointer for logging out and moving on
gosub, logout
gosub, startprism
}
pause

サブルーチンの 1 つでハングした場合にそのスクリプトを中断し、getout ラベルから継続させたいと考えています。

一時停止が終わったら、スレッドの実行ポイントを変更できる一時停止トグルのようなものです。

それは可能ですか?

4

1 に答える 1

0

try/catch を使用できます。エラーがキャッチされたら、事前に作成した別のスクリプトを別の場所で実行し、元のスクリプトを強制終了します。

例:

try  ; Attempts to execute code.
{
    loop, read, c:\storefile.txt
    {
        store_select := A_index - 1
        sleep, 1000
        gosub, selectstore
        gosub, login
        gosub, makeandorrunreport
        gosub, Emailreport
        getout: ; label pointer for logging out and moving on
        gosub, logout
        gosub, startprism
    }
    pause
}
catch e  ; Handles the first error/exception raised by the block above.
{
    Run, Script\from\separate\location.ahk  ; Run script from somewhere else.
    ExitApp ; Kill off the current script.
}
于 2017-09-09T17:45:00.943 に答える