私は、これらの機能がどのような形で始まっているのかを教えてくれないことをお詫びします。エラーが発生しなくなるまで、rで関数を繰り返し実行します。
私には、機能があります。CheckOutCell
です。それは1つの議論をとり、それは数764
です。したがって、私が関数を実行するたびに、それは完全に次のようになります:CheckOutCell(764)
。
今では多くの時間関数は、私にエラーを与える:
Error in checkInCell(764) :
The function is currently locked; try again in a minute.
カスタムエラーメッセージであり、詳細はこの質問への重要されていません。
この機能は、30秒から1時間のどこからでもロックされる可能性があります。 が実行されるまで自動的にCheckOutCell(764)
を実行してから、実行を停止したいと考えています。つまり、エラーが出なくなるまで実行してから停止します。
私は機能がまだロックされているので、何も出力をキャプチャすることはできないので、しかし、これは単なる
Error in checkInCell(764) :
The function is currently locked; try again in a minute.
を生産開始が
while(capture.output(checkInCell(764)) == "Error in checkInCell(764) :
The function is currently locked; try again in a minute."){
do something}
を使用することだと思います。私はwhile(error = T)
をテストする方法を
は、関数のソースコードを変更することはできませんと仮定します。
がさえis.error(CheckInCell(764))
がちょうど同じエラーメッセージ
tryCatchを試しましたか? – Koba
私は、どこに行くのかわかりません。私が 'tryCatch'を使って自分の質問に答えると、 –
elseブロックの中に 'stopifnot'または' stop'を入れてみます。 'stop'を使用している場合は、必ず呼び出しを行ってください。 = FALSE、適切なエラーメッセージを渡す – Sathish