보통 Try, Catch 문이라고 하면 이런식으로 쓰게 될 것입니다.
void function()
{
Try
{
}
Catch
{
Throw;
}
}
하지만 Throw를 하게 되면 내부적으로 다소 많은 부하가 걸릴 수 있다고 합니다.
(이 부분에 대해서 개발 실장님께 들었는데 정확한 정보는 찾아보지 못했습니다. 찾게 되면 추가적으로 내용을 쓰도록 하겠습니다.)
그래서 대신에 이런 식으로 처리하면 어떨까 합니다.
void function()특히 서버 같은 경우 최적화가 매우 중요하므로,
{
do // dummy do
{
// 여기가 try
if(오류) break;
if(오류) break;
// 오류에 걸리지 않았다면 처리
return;
} while(false)
// 여기가 catch
ERROR("오류가 났습니다.");
}
특별한 상황이 아니라면 Throw를 이용하지 않는 것이 좋지 않을까 생각합니다.
do 든 while 든 자주 사용하는 것이지만, '이런 식으로 응용을 할 수 있구나' 라고
생각하게 되는 좋은 예제라고 생각합니다.


