Are you certain that the problem mentioned in the thread you linked to actually exists? Have you run into it? I have always assumed that all I had to do was read all the available data before exiting readyRead(), and I have never faced such an issue doing so.
You must not let an exception propagate outside a slot whose execution was triggered by Qt's signals and slots mechanism; see http://doc.qt.io/qt-5/exceptionsafet...nals-and-slots. Maybe the documentation does not put enough stress on this limitation.
I am not aware of the reasons for this limitation, but supporting exceptions would raise--no pun intended--some non-trivial questions. E.g would the exception propagate to the caller for a direct connection, and outside the event loop executing the slot for a queued connection? This would break the locality of the component model offered by signals and slots. Besides, Qt's code would need to be exception-safe, which would probably significantly hurt performance.





Reply With Quote
Bookmarks