Sdílet prostřednictvím


set_unexpected (CRT)

Instaluje vlastní ukončení funkce pro volání unexpected.

unexpected_function set_unexpected(
   unexpected_function unexpFunction 
);

Parametry

  • unexpFunction
    Ukazatel na funkci Napsat a nahradit unexpected funkce.

Vrácená hodnota

Vrací ukazatel na funkci ukončení předchozí registrovaných _set_unexpected tak, aby bylo později možné obnovit předchozí funkce.Pokud byla nastavena žádná předchozí funkce, vrácenou hodnotu lze obnovit výchozí chování; Tato hodnota může být NULL.

Poznámky

set_unexpected Nainstaluje funkci unexpFunction jako funkce volány unexpected.unexpectednení použit v aktuální implementaci C++ zpracování výjimek.unexpected_function Typu je definována v EH.H jako ukazatel na uživatelem definované neočekávané funkce unexpFunction , který vrací void.Vlastní unexpFunction není funkce zpět na volajícího.

typedef void ( *unexpected_function )( );

By default, unexpected calls terminate.Toto chování lze změnit psaní ukončení funkce a volání set_unexpected s názvem funkce jako svůj argument.unexpectedvolá funkci poslední zadána jako argument set_unexpected.

Na rozdíl od vlastní ukončení funkce nainstalována pomocí volání set_terminate, může být vyvolána výjimka ve unexpFunction.

V prostředí s více podprocesy jsou neočekávané funkce udržovány odděleně pro každý podproces.Každý nový podproces musí nainstalovat vlastní funkci neočekávané.Každý podproces tedy za vlastní neočekávané zpracování.

V aktuální implementaci Microsoft C++ zpracování výjimek unexpected volání terminate ve výchozím nastavení se nazývá nikdy knihovnou spuštění zpracování výjimek.Žádnou výhodu zejména k volání unexpected namísto terminate.

Existuje jeden set_unexpected obslužnou rutinu pro všechny dynamicky propojené soubory DLL nebo EXEs; i v případě, že při volání set_unexpected vaše Obsluha může být nahrazena jinou nebo nahrazujete obsluhu nastavit jinou DLL nebo EXE.

Požadavky

Rutina

Požadované záhlaví

set_unexpected

<eh.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Rutiny ošetření výjimek

abort

_get_unexpected

set_terminate (CRT)

terminate (CRT)

unexpected (CRT)