std::future_error
Von cppreference.com
| Definiert im Header <future> |
||
| class future_error; |
(seit C++11) | |
Die Klasse std::future_error definiert ein Ausnahmeobjekt, das bei Fehlern von den Funktionen in der Thread-Bibliothek, die sich mit asynchroner Ausführung und gemeinsamen Zuständen befassen (std::future, std::promise, etc.), geworfen wird. Ähnlich wie std::system_error trägt diese Ausnahme einen Fehlercode, der mit std::error_code kompatibel ist.
Vererbungdiagramm
Inhalt |
[bearbeiten] Memberfunktionen
erzeugt ein std::future_error-Objekt(public member function) | |
ersetzt das std::future_error-Objekt(public member function) | |
| gibt den Fehlercode zurück (public member function) | |
| gibt den erklärenden String zurück, der spezifisch für den Fehlercode ist (public member function) |
Abgeleitet von std::logic_error
Abgeleitet von std::exception
Memberfunktionen
| [virtuell] |
zerstört das Ausnahmeobjekt (virtuelle öffentliche Memberfunktion von std::exception) |
| [virtuell] |
gibt einen erklärenden String zurück (virtuelle öffentliche Memberfunktion von std::exception) |
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <future> #include <iostream> int main() { std::future<int> empty; try { int n = empty.get(); // The behavior is undefined, but // some implementations throw std::future_error } catch (const std::future_error& e) { std::cout << "Caught a future_error with code \"" << e.code() << "\"\nMessage: \"" << e.what() << "\"\n"; } }
Mögliche Ausgabe
Caught a future_error with code "future:3" Message: "No associated state"
[bearbeiten] Siehe auch
| (C++11) |
identifiziert die Future-Fehlercodes (Enum) |