Как пользоваться исключениями в Qt?

Не могу понять как словить исключения в Qt. Кто-нибудь может показать пример? Почему так не работает?

void test()
{
    QVector<int> foo;
    foo.at(5); // index out of range
}

int main()
{
    try{
        test();
    }
    catch(...){
        // обрабатываем исключение
    }
    return 0;
}



Ответы (1 шт):

Автор решения: Harry

Как показал поиск в Интернете, Qt не использует исключения, он просто использует для проверки доступа за пределами диапазона assert.

Вам нужно либо использовать std::vector, либо реализовать свою собственную обертку вокруг QVector, которая будет генерировать соответствующие исключения.

→ Ссылка