Windows 使用Qt设置未处理异常处理程序的平台无关方式?
Mac OS X(Cocoa) NSSetUncaughtExceptionHandler 窗户 SetUnhandledExceptionFilterWindows 使用Qt设置未处理异常处理程序的平台无关方式?,windows,macos,qt,Windows,Macos,Qt,Mac OS X(Cocoa) NSSetUncaughtExceptionHandler 窗户 SetUnhandledExceptionFilter 使用Qt是否有一种平台无关的方法来实现这一点?main()中的显式处理程序如何? 我的意思是你的申请有以下几行: int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow mainWin; mainWin.show(); r
使用Qt是否有一种平台无关的方法来实现这一点?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
}
围绕这一点写IFDEF真的很糟糕吗?这只是一个实例,一旦完成,你就再也不用看它了。至少在Windows上是这样说的,我建议您不要这样做,而是注册Vista+的重新启动管理器(如果可用)。至少在Windows上,这不是相同的语义,因为它不会捕捉SEH例外情况。恐怕这是唯一的可移植方式。它还不错。事实上,我已经这样做了。只是想看看我是否错过了一个更干净的方法。