Izuzeci olakšavaju pisanje koda gdje će iznimka bačena razbiti invarijante i ostaviti objekte u nekonzistentnom stanju. Oni vas u biti prisiljavaju da zapamtite da većina svake vaše izjave potencijalno može baciti i to ispravno postupati. To može biti nezgodno i kontraintuitivno.
Zašto su iznimke loš C++?
Glavni razlog zašto su iznimke C++ tako često zabranjene jest da je vrlo teško napisati C++ kod bez iznimke. Sigurnost iznimke nije izraz koji čujete često, ali u osnovi znači kod koji se ne zezne previše ako se hrpa odmota.
Je li osim izuzetaka loš?
Trebali biste koristiti najmanje osim iznimke : kako biste izbjegli hvatanje sustava exceptions poput SystemExit ili KeyboardInterrupt. Evo linka na dokumente. Općenito, trebali biste eksplicitno definirati exceptions koje želite uhvatiti, kako biste izbjegli hvatanje neželjenih exceptions . Trebali biste znati koje iznimke ignorirate.
Zašto je iznimka catch 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 iznimke. Ako je ovo u vašem sloju EJB / poslovne logike, imate 2 izbora - uhvatite ih ili ih ponovno bacite.
Jesu li iznimke loše za izvedbu?
Zaključak. Ne koristi seiznimke zbog njihovog potencijalnog utjecaja na performanse su loša ideja. Iznimke pomažu osigurati ujednačen način rješavanja problema u vremenu izvođenja i pomažu u pisanju čistog koda. Međutim, trebate pratiti broj iznimaka koji se unose u vaš kod.