std::exception_ptr
Aus cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
definiert in Header <exception>
|
||
typedef /*unspecified*/ exception_ptr; |
(seit C++11) | |
std::exception_ptr
ist ein NULL-Zeiger-wie Typ, der eine Ausnahme Objekt, das geworfen wurde und eroberte mit std::current_exception verwaltet. Eine Instanz std::exception_ptr
kann eine andere Funktion übergeben werden, möglicherweise auf einem anderen Thread, wo die Ausnahme kann erneut ausgelöst und behandelt werden mit einer catch-Klausel .Original:
std::exception_ptr
is a nullable pointer-like type that manages an exception object which has been thrown and captured with std::current_exception. An instance of std::exception_ptr
may be passed to another function, possibly on another thread, where the exception may be rethrown and handled with a catch clause.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Default-gebaut
std::exception_ptr
wird ein NULL-Zeiger, ist es nicht zu einer Ausnahme Objekt zeigen .Original:
Default-constructed
std::exception_ptr
is a null pointer, it does not point to an exception object.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Zwei Instanzen
std::exception_ptr
sind gleich, wenn sie beide null oder beide auf gleicher Exception-Objekt sind .Original:
Two instances of
std::exception_ptr
compare equal only if they are both null or both point at the same exception object.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
std::exception_ptr
weder implizit konvertierbar beliebigen arithmetischen, Enumeration oder Zeigertyp. Es ist konvertierbar bool
.Original:
std::exception_ptr
is not implicitly convertible to any arithmetic, enumeration, or pointer type. It is convertible to bool
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Das Exception-Objekt von einem
std::exception_ptr
verwiesen wird, bleibt so lange gültig, wie es bleibt mindestens ein std::exception_ptr
, die darauf verweisen wird: std::exception_ptr
ist ein Shared-Ownership Smart-Pointer .Original:
The exception object referenced by an
std::exception_ptr
remains valid as long as there remains at least one std::exception_ptr
that is referencing it: std::exception_ptr
is a shared-ownership smart pointer.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[Bearbeiten] Beispiel
#include <iostream> #include <string> #include <exception> #include <stdexcept> void handle_eptr(std::exception_ptr eptr) // passing by value is ok { try { if (eptr != std::exception_ptr()) { std::rethrow_exception(eptr); } } catch(const std::exception& e) { std::cout << "Caught exception \"" << e.what() << "\"\n"; } } int main() { std::exception_ptr eptr; try { std::string().at(1); // this generates an std::out_of_range } catch(...) { eptr = std::current_exception(); // capture } handle_eptr(eptr); } // destructor for std::out_of_range called here, when the eptr is destructed
Output:
Caught exception "basic_string::at"
[Bearbeiten] Siehe auch
(C++11) |
schafft eine std::exception_ptr von einer Ausnahme-Objekt Original: creates an std::exception_ptr from an exception object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Funktions-Template) |
(C++11) |
captures the current exception in a std::exception_ptr (Funktion) |
(C++11) |
wirft die Ausnahme von einem std::exception_ptr Original: throws the exception from an std::exception_ptr The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Funktion) |