Ошибка обработки исключений в 2.5?
Как обойти следующую ситуацию:
void f1()
{
try
{
ttsbegin;
// …
f2();
//…
ttscommit;
}
catch(exception::error)
{
//1
}
}
void f2()
{
try
{
throw error(“ERROR”);
// …
}
catch(exception::error)
{
//2
}
}
Вызов throw приводит к переходу к 1, а должен к 2. Если убрать ttsbegin\commit то переходит к 2 как и положено.
|