exception_ptr
Typ, který popisuje ukazatele na výjimku.
typedef unspecified exception_ptr;
Poznámky
Neurčená vnitřní třída, která je použita k implementaci typu exception_ptr.
Použijte objekt exception_ptr pro odkázání na aktuální výjimku nebo instanci uživatelské výjimky.V implementaci společnosti Microsoft je výjimka představována strukturou EXCEPTION_RECORD.Každý objekt exception_ptr obsahuje referenční pole výjimky, které odkazuje na kopii struktury EXCEPTION_RECORD představující výjimku.
Při deklaraci proměnné exception_ptr není proměnná přidružena k žádné výjimce.Tedy referenční pole výjimky je NULL.Takovýto objekt exception_ptr se nazývá nulový exception_ptr.
Pro přiřazení výjimky objektu exception_ptr je třeba použít funkci current_exception nebo make_exception_ptr.Při přiřazení výjimky do proměnné exception_ptr bude referenční pole výjimky proměnné odkazovat na kopii výjimky.Pokud není dostatek paměti pro zkopírování výjimky, referenční pole výjimky odkazuje na kopii výjimky std::bad_alloc.Pokud funkce current_exception nebo make_exception_ptr nemůže zkopírovat výjimku z jiného důvodu, zavolá funkce funkci terminate (CRT), aby ukončila aktuální proces.
Navzdory názvu není objekt exception_ptr sám o sobě ukazatel.Nedodržuje sémantiku ukazatele a nelze jej použít s operátory přístupu k členovi (->) nebo dereference (*).Objekt exception_ptr nemá žádné veřejné datové členy a členské funkce.
Porovnání:
Pro porovnání dvou objektů exception_ptr je možné použít operátory je rovno (==) a není rovno (!=).Operátory neporovnávají binární hodnoty (bitový vzor) struktur EXCEPTION_RECORD představujících výjimky.Místo toho operátory porovnávají adresy v referenčním poli výjimky objektu exception_ptr.V důsledku toho se nulový exception_ptr a hodnota NULL rovnají.