Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
exception_ptr
Typ, który opisuje wskaźnik do wyjątku.
typedef unspecified exception_ptr;
Uwagi
Nieokreślona klasa wewnętrzna używana do implementowania exception_ptr typu.
exception_ptr Użyj obiektu, aby odwołać się do bieżącego wyjątku lub wystąpienia wyjątku określonego przez użytkownika. W implementacji firmy Microsoft wyjątek jest reprezentowany przez strukturę EXCEPTION_RECORD . Każdy exception_ptr obiekt zawiera pole odwołania wyjątku EXCEPTION_RECORD wskazujące kopię struktury reprezentującej wyjątek.
Podczas deklarowania zmiennej zmienna exception_ptr nie jest skojarzona z żadnym wyjątkiem. To znaczy, że pole odwołania wyjątku ma wartość NULL.
exception_ptr Taki obiekt jest nazywany exception_ptr o wartości null.
current_exception Użyj funkcji ormake_exception_ptr, aby przypisać wyjątek do exception_ptr obiektu. Po przypisaniu wyjątku do exception_ptr zmiennej pole odwołania wyjątku zmiennej wskazuje kopię wyjątku. Jeśli nie ma wystarczającej ilości pamięci do skopiowania wyjątku, pole odwołania wyjątku wskazuje kopię wyjątku std::bad_alloc .
current_exception Jeśli funkcja or make_exception_ptr nie może skopiować wyjątku z innego powodu, funkcja wywołuje terminate funkcję CRT, aby zakończyć bieżący proces.
Pomimo nazwy exception_ptr obiekt nie jest wskaźnikiem. Nie jest on przestrzegany semantyki wskaźnika i nie może być używany z dostępem do elementu członkowskiego wskaźnika (->) lub operatorami pośrednimi (*). Obiekt exception_ptr nie ma publicznych składowych danych ani funkcji składowych.
Porównania:
Aby porównać dwa == obiekty, można użyć operatorów równości () i!= nie równej (exception_ptr). Operatory nie porównują wartości binarnej (wzorca bitowego EXCEPTION_RECORD ) struktur reprezentujących wyjątki. Zamiast tego operatory porównują adresy w polu odwołania do wyjątków exception_ptr obiektów. W związku z tym wartość null exception_ptr i wartość NULL są porównywane jako równe.
terminate_handler
Typ opisuje wskaźnik do funkcji odpowiedniej do użycia jako terminate_handler.
typedef void (*terminate_handler)();
Uwagi
Typ opisuje wskaźnik do funkcji odpowiedni do użytku jako program obsługi zakończenia.
Przykład
Zobacz set_terminate , aby zapoznać się z przykładem użycia elementu terminate_handler.
unexpected_handler
Typ opisuje wskaźnik do funkcji odpowiedniej do użycia jako unexpected_handler.
typedef void (*unexpected_handler)();
Przykład
Zobacz set_unexpected , aby zapoznać się z przykładem użycia elementu unexpected_handler.