Uitzonderingen maken het heel gemakkelijk om code te schrijven waarbij een uitzondering die gegooid wordt, invarianten verbreekt en objecten in een inconsistente staat laat. Ze dwingen je in wezen om te onthouden dat bijna elke uitspraak die je doet mogelijk kan worden gegooid, en daar correct mee om te gaan. Dit kan lastig en contra-intuïtief zijn.
Waarom zijn uitzonderingen slecht C++?
De belangrijkste reden waarom C++-uitzonderingen zo vaak verboden zijn, is dat het erg moeilijk is om exception-safe C++-code te schrijven. Exception safety is een term die je niet vaak hoort, maar betekent in feite code die zichzelf niet al te erg verknoeit als de stapel wordt afgewikkeld.
Is behalve uitzondering slecht?
U moet ten minste behalve Exception : gebruiken om te voorkomen dat systeem exceptions zoals SystemExit of KeyboardInterrupt wordt opgevangen. Hier is een link naar documenten. In het algemeen moet u expliciet exceptions definiëren die u wilt vangen, om te voorkomen dat u ongewenste exceptions betrapt. Je zou moeten weten welke exceptions je negeert.
Waarom is catch-uitzondering bijna altijd een slecht idee?
catch(Exception) is een slechte gewoonte omdat het ook alle RuntimeException (niet-gecontroleerde uitzonderingen) vangt. Dit kan Java-specifiek zijn: soms moet u methoden aanroepen die gecontroleerde uitzonderingen genereren. Als dit zich in je EJB / bedrijfslogica-laag bevindt, heb je 2 keuzes - vang ze of gooi ze opnieuw.
Zijn uitzonderingen slecht voor de prestaties?
Conclusie. Niet gebruikenuitzonderingen vanwege hun potentiële impact op de prestaties is een slecht idee. Uitzonderingen helpen om een uniforme manier te bieden om runtime-problemen het hoofd te bieden en ze helpen om schone code te schrijven. U moet echter het aantal uitzonderingen traceren dat in uw code wordt gegenereerd.