Sdílet prostřednictvím


Zpracování výjimek (Visual Studio SDK)

Následující článek popisuje proces, ke kterému dochází při vyvolání výjimek.

Proces zpracování výjimek

  1. Při prvním vyvolání výjimky, ale před jejím zpracování obslužnou rutinou výjimky v ladicím programu odešle ladicí modul (DE) do správce ladění relace (SDM) jako zastavovací událost IDebugExceptionEvent2 . Odešle IDebugExceptionEvent2 se, pokud pouze nastavení výjimky (zadané v dialogovém okně Výjimky v balíčku ladění) určuje, že uživatel chce zastavit u oznámení o výjimce první šance.

  2. SDM volá IDebugExceptionEvent2::GetException pro získání vlastnosti výjimky.

  3. Ladicí balíček volá IDebugExceptionEvent2::CanPassToDebuggee určit, jaké možnosti má uživatel prezentovat.

  4. Ladicí balíček se zeptá uživatele, jak zpracovat výjimku otevřením dialogového okna s první náhodou výjimky.

  5. Pokud se uživatel rozhodne pokračovat, SDM volá IDebugExceptionEvent2::CanPassToDebuggee.

  6. Pokud laděný program nemá žádnou obslužnou rutinu pro druhou šanci výjimky, de odešle IDebugExceptionEvent2 do SDM jako EVENT_SYNC_STOP.

  7. Ladicí balíček se zeptá uživatele, jak zpracovat výjimku otevřením dialogového okna s první náhodou výjimky.

  8. Ladicí balíček volá IDebugExceptionEvent2::CanPassToDebuggee určit, jaké možnosti má uživatel prezentovat.

  9. Ladicí balíček se zeptá, jak má uživatel zpracovat výjimku otevřením dialogového okna s druhou náhodou výjimky.

  10. Pokud metoda vrátí S_OK, zavolá IDebugExceptionEvent2::PassToDebuggee.