std::promise<R>:: set_exception_at_thread_exit
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Getting the result | ||||
| Setting the result | ||||
|
promise::set_exception_at_thread_exit
|
||||
| Non-member Functions | ||||
| Helper Classes | ||||
|
void
set_exception_at_thread_exit
(
std::
exception_ptr
p
)
;
|
(seit C++11) | |
Speichert den Ausnahmepointer p im gemeinsamen Zustand, ohne den Zustand sofort bereit zu machen. Der Zustand wird bereit gemacht, wenn der aktuelle Thread beendet wird, nachdem alle Variablen mit Thread-Local Storage-Dauer zerstört wurden.
Die Operation verhält sich so, als ob
set_value
,
set_exception
,
set_value_at_thread_exit
und
set_exception_at_thread_exit
einen einzelnen Mutex assoziiert mit dem Promise-Objekt erwerben, während sie das Promise-Objekt aktualisieren.
Eine Ausnahme wird ausgelöst, wenn kein gemeinsamer Zustand vorhanden ist oder der gemeinsame Zustand bereits einen Wert oder eine Ausnahme speichert.
Aufrufe dieser Funktion führen nicht zu Datenrennen mit Aufrufen von get_future (daher müssen sie nicht miteinander synchronisiert werden).
Inhaltsverzeichnis |
Parameter
| p | - | Ausnahmezeiger zum Speichern. Das Verhalten ist undefiniert, wenn p gleich nullptr ist. |
Rückgabewert
(keine)
Ausnahmen
std::future_error unter den folgenden Bedingungen:
- * this besitzt keinen gemeinsamen Zustand. Der Fehlercode wird auf no_state gesetzt.
- Der gemeinsame Zustand speichert bereits einen Wert oder eine Ausnahme. Der Fehlercode ist auf promise_already_satisfied gesetzt.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
setzt das Ergebnis, um eine Exception anzuzeigen
(öffentliche Elementfunktion) |