Russian Qt Forum

Qt => Вопросы новичков => Тема начата: nvek от Ноябрь 20, 2018, 09:02



Название: Qt Exception
Отправлено: nvek от Ноябрь 20, 2018, 09:02
В Delphi вызывается допустим
Код:
raise Exception.Create(S_NeedToSetDispRecFlag);
исключение это обрабатывается самой либой Делфи и выводит диологовое окно.
Есть ли в qt что то типо такого же...
Код:
QApplication::exceprion(...)
чтобы показалось диалоговое окно


Название: Re: Qt Exception
Отправлено: nvek от Ноябрь 20, 2018, 09:47
можно через notify
Код:
class MyApplication : public QApplication
{
public:
MyApplication(int argc, char *argv[]) : QApplication(argc, argv)
{

}

virtual ~MyApplication()
{

}

// reimplemented from QApplication so we can throw exceptions in slots
virtual bool notify(QObject * receiver, QEvent * event) {
try {
return QApplication::notify(receiver, event);
}
catch (std::exception& e)
{
//QMessageBox();
}
catch (...)
{

}
return false;
}
};
и в приложении где то сделать вызов throw. Все работает!


Название: Re: Qt Exception
Отправлено: Авварон от Ноябрь 20, 2018, 10:07
Но не нужно.


Название: Re: Qt Exception
Отправлено: Fregloin от Ноябрь 21, 2018, 16:23
Вообще сам Qt базируется на том, что бы не использовать исключения.