Zpracování výjimek v MSVC
Výjimka je chybový stav, nacházející se případně i mimo řízení programu, který brání programu pokračovat dle jeho pravidelné cesty spuštění. Některé operace, včetně vytváření objektů, vstupu a výstupu souboru a volání funkcí provedených z jiných modulů, jsou všechny potenciální zdroje výjimek, i když je program spuštěn správně. Robustní kód je na výjimky připraven a zpracovává je. K detekci chyb logiky použijte kontrolní výrazy místo výjimek (viz Použití kontrolních výrazů).
Druhy výjimek
Kompilátor Microsoft C++ (MSVC) podporuje tři druhy zpracování výjimek:
-
U většiny programů C++ byste měli použít zpracování výjimek jazyka C++. Je to typově bezpečné a zajišťuje, aby se destruktory objektů vyvolaly během odvíjení zásobníku.
Strukturované zpracování výjimek
Systém Windows poskytuje vlastní mechanismus výjimek, označovaný jako strukturované zpracování výjimek (SEH). Nedoporučuje se pro programování C++ nebo MFC. Používejte SEH pouze v programech jazyka C jiných než MFC.
-
Od verze 3.0 používá mfc výjimky jazyka C++. Stále podporuje starší makra zpracování výjimek, která se podobají výjimkám jazyka C++. Informace o kombinování maker MFC a výjimek jazyka C++ naleznete v tématu Výjimky: Použití maker MFC a výjimek jazyka C++.
Pomocí možnosti kompilátoru /EH určete model zpracování výjimek, který se má použít v projektu C++. Standardní zpracování výjimek C++ (/EHsc) je výchozí v nových projektech C++ v sadě Visual Studio.
Nedoporučujeme kombinovat mechanismy zpracování výjimek. Nepoužívejte například výjimky C++ se strukturovaným zpracováním výjimek. Použití zpracování výjimek jazyka C++ výhradně zpřístupňuje kód a umožňuje zpracovávat výjimky libovolného typu. Další informace o nevýhodách strukturovaného zpracovánívýjimekch
V této části
Viz také
Referenční dokumentace
jazyka C++ x64 zpracování
výjimek (C++/CLI a C++/CX)
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro