QUnhandledException Class
QUnhandledException クラスは、Qt Concurrent ワーカースレッドにおける未処理の例外を表します。詳細...
Header: | #include <QUnhandledException> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Inherits: | QException |
パブリック関数
(since 6.0) | QUnhandledException(std::__exception_ptr::exception_ptr exception = nullptr) |
QUnhandledException(const QUnhandledException &other) | |
QUnhandledException(QUnhandledException &&other) | |
(since 6.0) std::__exception_ptr::exception_ptr | exception() const |
(since 6.0) void | swap(QUnhandledException &other) |
QUnhandledException & | operator=(const 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' } }
このクラスからの継承はサポートされていません。
メンバ関数ドキュメント
[noexcept, since 6.0]
QUnhandledException::QUnhandledException(std::__exception_ptr::exception_ptr exception = nullptr)
新しい QUnhandledException オブジェクトを構築します。exception が渡された場合、実際の例外オブジェクトへのポインタを保存します。
この関数は Qt 6.0 で導入されました。
exception()も参照してください 。
[noexcept]
QUnhandledException::QUnhandledException(const QUnhandledException &other)
other のコピーとして QUnhandledException オブジェクトを構築します。
[noexcept]
QUnhandledException::QUnhandledException(QUnhandledException &&other)
Move - QUnhandledException を構築し、other が指していたのと同じオブジェクトを指すようにします。
[since 6.0]
std::__exception_ptr::exception_ptr QUnhandledException::exception() const
このQUnhandledException に保存されている実際の例外へのポインタを返します。例外オブジェクトを指していない場合は、null
ポインタを返します。
この関数は Qt 6.0 で導入されました。
[noexcept, since 6.0]
void QUnhandledException::swap(QUnhandledException &other)
このQUnhandledException をother と入れ替えます。この関数は非常に高速で、失敗することはありません。
この関数は Qt 6.0 で導入されました。
[noexcept]
QUnhandledException &QUnhandledException::operator=(const QUnhandledException &other)
このQUnhandledException オブジェクトにother を割り当て、このQUnhandledException オブジェクトへの参照を返します。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。