【发布时间】:2012-12-14 12:06:34
【问题描述】:
我应该在哪里重新实现 QApplication::notify 函数?我的意思是,哪个班?我自己的类之一或 Qt 的一些类的子类并在那里做?我需要这个,因为从服务器下载文件时出现以下错误(小文件下载正常,但大文件会导致此消息):
Qt 已经捕获了一个事件处理程序抛出的异常。投掷 Qt 不支持来自事件处理程序的异常。你必须 重新实现 QApplication::notify() 并在那里捕获所有异常。
【问题讨论】:
-
嗨,看看这是否有帮助:qt-project.org/forums/viewthread/17731。在那里,他们继承
QtApplication并在SafeApplication中重新实现notify方法。 -
#AdriC.S.嗨,我不确定是不是这样,但我会试一试。
-
您确定要从事件处理程序中抛出异常吗?你将如何处理它们?
-
@Lol4t0 这是一个有点误导性的错误,发生的情况是在一个槽中抛出了一个异常,该异常向上传播,直到它到达 Qt 的事件队列处理器——它就是显示错误的那个。跨度>