Смешение контроля исключений в транзакции БД - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть следующий псевдокод

try
{
    beginTrans();
    //do some database opertions...
    //PointA
    //do some database opertions...
    commit();
}
catch (const AnyDbException& ex)
{
    rollback();
    //error logging...
}

В приведенном выше коде все выглядит хорошо. Однако, если выдается исключение, не связанное с базой данных, оно не будет перехвачено в перехвате, и транзакция также НЕ зафиксирована.

Если я использую перехват (...), он перехватит что угодно, но в этом случае я предпочитаю не ловить его, так как он должен быть пойман снаружи.

Что я могу сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...