QException Class▲
- 
					Header: QException 
- 
					CMake: find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) 
- 
					qmake: QT += core 
- 
					Inherits: 
- 
					Inherited By: QUnhandledException 
Detailed Description▲
Qt Concurrent supports throwing and catching exceptions across thread boundaries, provided that the exception inherits from QException and implements two helper functions:
class MyException : public QException
{
public:
    void raise() const override { throw *this; }
    MyException *clone() const override { return new MyException(*this); }
};QException subclasses must be thrown by value and caught by reference:
try  {
    QtConcurrent::blockingMap(list, throwFunction); // throwFunction throws MyException
} catch (MyException &e) {
    // handle exception
}If you throw an exception that is not a subclass of QException, the Qt Concurrent functions will throw a QUnhandledException in the receiver thread.
When using QFuture, transferred exceptions will be thrown when calling the following functions:
Member Function Documentation▲
[virtual] QException *QException::clone() const▲
In your QException subclass, reimplement clone() like this:
MyException *MyException::clone() const { return new MyException(*this); }[virtual] void QException::raise() const▲
In your QException subclass, reimplement raise() like this:
void MyException::raise() const { throw *this; }



