Udostępnij za pośrednictwem


exception_ptr

Typ, który opisuje wskaźnik do wyjątku.

typedef unspecified exception_ptr;

Uwagi

Nieokreślona klasa wewnętrzna, która jest używana do zaimplementowania typu exception_ptr.

Użyj obiektu exception_ptr, aby odwoływać 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 obiekt exception_ptr zawiera pole odwołania wyjątku, wskazujące na kopię struktury EXCEPTION_RECORD, która reprezentuje wyjątek.

Po zadeklarowaniu zmiennej exception_ptr, zmienna nie jest skojarzona z żadnym wyjątkiem.To znaczy, że pole odwołania wyjątku ma wartość NULL.Taki obiekt, jak exception_ptr, jest nazywany null exception_ptr.

Użyj funkcji current_exception lub make_exception_ptr, aby przypisać wyjątek do obiektu exception_ptr.Podczas przypisywania wyjątku do zmiennej exception_ptr, pole odwołania do zmiennej wyjątku wskazuje kopię wyjątku.Jeśli pamięć jest niewystarczająca, aby skopiować wyjątek, pole odwołania wyjątku wskazuje kopię wyjątku std::bad_alloc.Jeśli funkcja current_exception lub make_exception_ptr z jakiegokolwiek innego powodu nie może skopiować wyjątku, funkcja wywołuje zakończenie (CRT), aby zakończyć bieżący proces.

Pomimo swojej nazwy obiekt exception_ptr sam nie jest wskaźnikiem.Nie stosuje semantyki wskaźnika i nie można go używać z operatorami dostępu do wskaźnika elementu członkowskiego (->) lub pośrednimi (*).Obiekt exception_ptr nie ma publicznych elementów członkowskich danych ani funkcji elementów członkowskich.

Porównania:

Można użyć operatorów równości (==) i nierówności (!=) do porównywania dwóch obiektów exception_ptr.Operatory nie porównują wartości binarnej (wzorca bitowego) struktur EXCEPTION_RECORD, które reprezentują wyjątki.Zamiast tego, operatory porównują adresy w polu odwołania do wyjątku obiektów exception_ptr.W związku z tym, porównywane wartości null w exception_ptr oraz NULL są równe.

Zobacz też

Informacje

<exception>

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