Исключение при работе с БД ломает транзакцию (ее уже не зафиксируешь). Остальные - не ломают и могут быть подавлены, давая тем самым завершить транзакцию.
Следует заметить, что не всякая ошибка приводит к невозможности продолжения выполнения и фиксации транзакции, а именно ошибка базы данных. Исключения, не имеющие отношения к ошибкам базы данных, никакого влияния на возможность продолжения выполнения транзакции не оказывают