Unntak gjør det veldig enkelt å skrive kode der et unntak blir kastet vil bryte invarianter og etterlate objekter i en inkonsekvent tilstand. De tvinger deg egentlig til å huske at de fleste utsagn du kommer med potensielt kan kaste, og håndtere det riktig. Det kan være vanskelig og kontraintuitivt å gjøre det.
Hvorfor unntak er dårlige C++?
Hovedårsaken til at C++-unntak så ofte er forbudt, er at det er veldig vanskelig å skrive unntakssikker C++-kode. Unntakssikkerhet er ikke et begrep du hører så ofte, men betyr i bunn og grunn kode som ikke skrus opp for mye hvis stabelen vikles ut.
Er bortsett fra unntak dårlig?
Du bør bruke minst unntatt Unntak : for å unngå å fange opp systemet exceptions som SystemExit eller KeyboardInterrupt. Her er lenke til dokumenter. Generelt bør du eksplisitt definere exceptions du vil fange, for å unngå å fange opp uønskede exceptions . Du bør vite hvilke unntak du ignorerer.
Hvorfor er catch-unntak nesten alltid en dårlig idé?
catch(Exception) er en dårlig praksis fordi den fanger opp alle RuntimeException (umerket unntak) også. Dette kan være java-spesifikt: Noen ganger må du kalle metoder som kaster sjekkede unntak. Hvis dette er i ditt EJB / forretningslogikklag, har du 2 valg - fange dem eller kaste dem på nytt.
Er unntak dårlige for ytelsen?
Konklusjon. Bruker ikkeunntak på grunn av deres potensielle ytelsespåvirkning er en dårlig idé. Unntak bidrar til å gi en enhetlig måte å takle kjøretidsproblemer på, og de bidrar til å skrive ren kode. Du må imidlertid spore antall unntak som er kastet i koden din.