std::experimental::scope_success<EF>:: ~scope_success
|
~scope_success
(
)
noexcept
(
noexcept
(
std::
declval
<
EF
&
>
(
)
(
)
)
)
;
|
(Library Fundamentals TS v3) | |
Ruft die exit-Funktion auf, falls das Ergebnis von
std::
uncaught_exceptions
(
)
kleiner oder gleich dem Zähler der nicht abgefangenen Exceptions ist (typischerweise beim normalen Beenden) und der
scope_success
aktiv ist, zerstört anschließend den gespeicherten
EF
(falls es sich um ein Funktionsobjekt handelt) und alle anderen nicht-statischen Datenelemente.
Ausnahmen
Wirft jede Ausnahme, die durch den Aufruf der exit-Funktion ausgelöst wird.
Hinweise
Ob der Destruktor beim Stack-Unwinding aufgerufen wird, kann durch den Vergleich des Ergebnisses von
std::
uncaught_exceptions
(
)
und dem Zähler der nicht abgefangenen Exceptions im
scope_success
erkannt werden.
Im Gegensatz zu anderen Klassen oder Klassentemplatespezialisierungen in der C++-Standardbibliothek und anderen C++ TR/TS,
scope_success
's Destruktor darf eine Ausnahme werfen.
Siehe auch
macht das
scope_success
inaktiv
(öffentliche Elementfunktion) |