У меня есть следующий псевдокод
try
{
beginTrans();
//do some database opertions...
//PointA
//do some database opertions...
commit();
}
catch (const AnyDbException& ex)
{
rollback();
//error logging...
}
В приведенном выше коде все выглядит хорошо. Однако, если выдается исключение, не связанное с базой данных, оно не будет перехвачено в перехвате, и транзакция также НЕ зафиксирована.
Если я использую перехват (...), он перехватит что угодно, но в этом случае я предпочитаю не ловить его, так как он должен быть пойман снаружи.
Что я могу сделать?