Есть MainWindow у которого в переопределенном методе eventFilter происходит выбрасывание исключения и он падает с ошибкой "Invalid parameter passed to C runtime function.". Обработка исключений есть:
C++ (Qt)
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
 
    try {
        MainWindow w;
        w.show();
 
        return a.exec();
 
    } catch (const std::exception& e) {
        QString text = QString("ERROR: %1.").arg(e.what());
        QMessageBox::critical(NULL, QString(), text);
        qCritical() << text;
        a.quit();
        return 1;
    }
}
 
Если выбросить исключение в конструкторе MainWindow, то оно отлавливается, что говорит о том, что это заморочка Qt.
Хотелось бы узнать какие-нибудь варианты как с этим жить 
