Spec-Zone.ru › Qt 6.0

Класс QUnhandledException

Класс QUnhandledException представляет собой необработанное исключение в потоке обработки Qt Concurrent. Подробнее...

Заголовок: #include <QUnhandledException>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
С момента: Qt 5.0
Наследует: QException
  • Список всех членов, включая унаследованные

Открытые функции

QUnhandledException(const QUnhandledException &other)
QUnhandledException(QUnhandledException &&other)
QUnhandledException(std::exception_ptr exception = nullptr)
QUnhandledException & operator=(const QUnhandledException &other)
std::exception_ptr exception() const
void swap(QUnhandledException &other)

Подробное описание

Если поток обработки выбрасывает исключение, которое не является подклассом QException, функции Qt Concurrent выбросят QUnhandledException в стороне потока получателя. Информация об фактическом исключении, которое было выброшено, будет сохранена в классе QUnhandledException и может быть получена с помощью метода exception(). Например, вы можете обработать исключение, содержащееся в QUnhandledException следующим образом:

try {
    auto f = QtConcurrent::run([] { throw MyException {}; });
    // ...
} catch (const QUnhandledException &e) {
    try {
        if (e.exception())
            std::rethrow_exception(e.exception());
    } catch (const MyException &ex) {
        // Process 'ex'
    }
}

Наследование от этого класса не поддерживается.

Документация по членам-функциям

QUnhandledException::QUnhandledException(const QUnhandledException &other)

Создаёт объект QUnhandledException как копию other.

QUnhandledException::QUnhandledException(QUnhandledException &&other)

Перемещающее создание QUnhandledException, делая его указывающим на тот же объект, на который указывало other.

[since 6.0] QUnhandledException::QUnhandledException(std::exception_ptr exception = nullptr)

Создаёт новый объект QUnhandledException. Сохраняет указатель на фактический объект исключения, если exception передаётся.

Эта функция была введена в Qt 6.0.

См. также exception().

QUnhandledException &QUnhandledException::operator=(const QUnhandledException &other)

Присваивает other этому объекту QUnhandledException и возвращает ссылку на этот объект QUnhandledException.

[since 6.0] std::exception_ptr QUnhandledException::exception() const

Возвращает указатель на фактическое исключение, которое было сохранено в этом QUnhandledException. Возвращает null указатель, если он не указывает на объект исключения.

Эта функция была введена в Qt 6.0.

[since 6.0] void QUnhandledException::swap(QUnhandledException &other)

Меняет местами этот QUnhandledException с other. Эта функция очень быстрая и никогда не терпит неудачу.

Эта функция была введена в Qt 6.0.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qunhandledexception.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API