Proč jsou výjimky špatné?

Proč jsou výjimky špatné?
Proč jsou výjimky špatné?
Anonim

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.

Doporučuje: