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