Výjimky opravdu usnadňují psaní kódu, kde výjimka, která je vyhozena, poruší invarianty a zanechá objekty v nekonzistentním stavu. V podstatě vás nutí pamatovat si, že většina každého prohlášení, které uděláte, může potenciálně hodit, a správně s tím zacházet. Může to být složité a neintuitivní.
Proč jsou výjimky špatné C++?
Hlavním důvodem, proč jsou výjimky C++ tak často zakázány, je že je velmi těžké napsat kód C++ bezpečný pro výjimky. Zabezpečení výjimek není termín, který slýcháte příliš často, ale v zásadě znamená kód, který se sám o sobě příliš nepokazí, pokud je stoh odvinut.
Je kromě výjimky špatná?
Měli byste použít alespoň s výjimkou Exception : abyste se vyhnuli zachycování systému exceptions jako SystemExit nebo KeyboardInterrupt. Zde je odkaz na dokumenty. Obecně byste měli explicitně definovat výjimky , které chcete chytit, abyste se vyhnuli zachycení nechtěných výjimek . Měli byste vědět, jaké výjimky ignorujete.
Proč je výjimka zachycení téměř vždy špatný nápad?
catch(Exception) je špatný postup protože zachytí i všechny RuntimeException (nezaškrtnutá výjimka). To může být specifické pro java: Někdy budete muset volat metody, které vyvolávají zaškrtnuté výjimky. Pokud je to ve vaší EJB / vrstvě obchodní logiky, máte 2 možnosti - chytit je nebo je znovu hodit.
Jsou výjimky špatné pro výkon?
Závěr. Nepoužívámvýjimky z důvodu jejich potenciálního dopadu na výkon je špatný nápad. Výjimky pomáhají poskytovat jednotný způsob, jak se vypořádat s problémy za běhu a pomáhají psát čistý kód. Musíte však sledovat počet výjimek, které jsou vyvolány ve vašem kódu.