tryブロックがどのように再帰で動作するかを明確にする必要があります。これを実行するとプログラムが今までtry
になった場合try catchブロックに関する再帰的な作業はどのように行われますか?
thisfunction()
{
if (...)
{
//...
}
else
{
if()
{
try {
thisFunction()
}
catch(...) {
throw exception()
}
//...
}
}
}
}
は、何が起こる:
は、私がこのような構造と呼ばれる機能thisFunction
を持って言いますか?
catch
に行く前にもう一度thisFunction()
が実行され、再び実行されてtry
ブロックに再び入りますか?
catch(...)
に行ったことがありますか?
これを反復関数にしたければ、関数の大部分がtryブロックにないのでスタックメソッドを使用しても機能しませんでしたので、キャッチは無駄になります。コードを完全に再構築せずにこれを行う方法はありますか? – randomhereok
あなたは正確に何を達成しようとしていますか?より具体的にしてください。 –
関数全体を反復的にします。潜在的にスタックをオーバーフローさせる代わりに。 try catch(または少なくとも繰り返しループで例外エラーが発生してcatchがcatchするたびに)、または最良の方法がない場合は、少なくともtry catchを保持する方法があるかどうか疑問に思っています。 whileループを使用して反復回数を最大限に増やすことはできますが、私は不況を避けたいと思います。 – randomhereok