Udostępnij za pośrednictwem


current_exception

Uzyskuje inteligentny wskaźnik na bieżący wyjątek.

exception_ptr current_exception();

Wartość zwracana

Obiekt exception_ptr, wskazujący na bieżący wyjątek.

Uwagi

Wywołanie funkcji current_exception w bloku catch.Jeśli wyjątek jest w locie i blok catch może przechwycić wyjątek, funkcja current_exception zwraca obiekt exception_ptr, który odwołuje się do wyjątku.W przeciwnym razie funkcja zwraca wartość null obiektu exception_ptr.

Funkcja current_exception przechwytuje wyjątek, który jest w locie, bez względu na to, czy instrukcja catch określa instrukcję zgłoszenie wyjątku.

Destruktor dla bieżącego wyjątku jest wywoływany pod koniec bloku catch, jeśli wyjątek nie jest ponownie zgłaszany.Jednak nawet jeśli wywołasz funkcję current_exception w destruktorze, funkcja zwraca obiekt exception_ptr, który odwołuje się do bieżącego wyjątku.

Kolejne wywołania funkcji current_exception zwracają obiekty exception_ptr, które odnoszą się do różnych kopii bieżącego wyjątku.W związku z tym obiekty są porównane jako nierówne, ponieważ odnoszą się one do poszczególnych kopii, mimo że kopie mają tę samą wartość binarną.

Zobacz też

Informacje

<exception>

transport wyjątków między wątkami