Geo*_*rg 4 qt exception event-loop
我的应用程序很大程度上基于QT和许多第三方库.在几种情况下,这些碰巧会引发一些例外.
在本机Qt应用程序中,这会导致应用程序中止或终止.通常主数据模型仍然完整,因为我将其保留在纯Qt中,没有外部数据.
所以我想,我也只是告诉用户,在这个的这个过程已经发生有错误,他现在应该保存,甚至决定继续在主模型工作恢复.
目前,该程序只是默默地退出,甚至没有讲故事.
有时候抓住所有异常真的很难.如果一个例外意外泄漏,以下内容有很大帮助.以下列方式继承QApplication并覆盖该notify()函数
bool MyApplication::notify(
QObject * receiver,
QEvent * event )
{
try
{
return QApplication::notify(receiver, event);
}
catch(...)
{
assert( !"Oops. Forgot to catch exception?" );
// may be handle exception here ...
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
然后用您的自定义类替换QApplication您的main()函数.全部events并slots通过此函数发出,以便可以捕获所有异常并使您的应用程序变得稳定.