Zašto su izuzeci loši?

Zašto su izuzeci loši?
Zašto su izuzeci loši?
Anonim

Izuzeci zaista olakšavaju pisanje koda gdje će izuzetak koji se izbacuje razbiti invarijante i ostaviti objekte u nekonzistentnom stanju. Oni vas u suštini tjeraju da zapamtite da skoro svaka izjava koju date može potencijalno izbaciti, i da to ispravno postupate. To može biti nezgodno i kontraintuitivno.

Zašto su izuzeci loši C++?

Glavni razlog zašto su C++ izuzeci tako često zabranjeni je da je veoma teško napisati C++ kod bez izuzetka. Sigurnost izuzetaka nije izraz koji čujete često, ali u osnovi znači kod koji se ne zezne previše ako se stek odmota.

Je li osim izuzetaka loš?

Trebali biste koristiti najmanje osim Exception : da biste izbjegli hvatanje sistema exceptions kao SystemExit ili KeyboardInterrupt. Evo linka do dokumenata. Općenito, trebali biste eksplicitno definirati exceptions koje želite uhvatiti, kako biste izbjegli hvatanje neželjenih exceptions . Trebali biste znati koje izuzeci ignorišete.

Zašto je catch izuzetak gotovo uvijek loša ideja?

catch(Exception) je loša praksa jer hvata i sve RuntimeException (neprovjerene izuzetke). Ovo može biti specifično za Java: Ponekad ćete morati pozvati metode koje izbacuju provjerene izuzetke. Ako je ovo u vašem sloju EJB / poslovne logike, imate 2 izbora - uhvatite ih ili ih ponovo bacite.

Jesu li izuzeci loši za performanse?

Zaključak. Ne koristimizuzeci zbog njihovog potencijalnog uticaja na performanse su loša ideja. Izuzeci pomažu u obezbjeđivanju jedinstvenog načina za rješavanje problema izvođenja i pomažu u pisanju čistog koda. Međutim, morate pratiti broj izuzetaka koji su ubačeni u vaš kod.

Preporučuje se: