我应该在哪里使用except块来记录a的异常QApplication?
这似乎不起作用:
app = QtGui.QApplication(sys.argv)
MainWindow = MainWindow()
MainWindow.show()
try:
eventLoop = app.exec_()
except Exception, e:
log.exception(str(e))
Run Code Online (Sandbox Code Playgroud)
因为例外甚至不会到达那个街区.
Qt不支持从事件处理程序中抛出异常.您必须重新实现QApplication :: notify()并捕获所有异常.
覆盖函数bool QApplication :: notify(QObject*receiver,QEvent*event),以便捕获所有抛出的异常.
你可以像这样实现.
virtual bool notify(QObject * receiver, QEvent * event)
{
try
{
return QApplication::notify(receiver, event);
}
catch(std::exception& e)
{
qDebug() << "Exception thrown:" << e.what();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4513 次 |
| 最近记录: |