使用Qt设置未处理的异常处理程序的平台无关方式?

时间:2010-01-08 14:39:49

标签: windows macos qt

Mac OS X(Cocoa) NSSetUncaughtExceptionHandler

视窗 SetUnhandledExceptionFilter

使用Qt是否有独立于平台的方法?

2 个答案:

答案 0 :(得分:1)

在这周围编写#ifdef会不会真的那么糟糕?它只是一个实例,一旦你完成它就永远不会再看它。至少在Windows上,我鼓励你这样做,而是注册Vista +的重启管理器,如果有的话。

答案 1 :(得分:0)

main()中明显的处理程序怎么样? 我的意思是你的申请有以下几行:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow mainWin;
    mainWin.show();
    return a.exec();
}

简单地用它包裹它:

try{
   QApplication a(argc, argv);
   ...
}
catch //catches any previously unhandled
{
    //do graceful exit
}