Undtagelser gør det virkelig nemt at skrive kode, hvor en undtagelse, der bliver smidt, vil bryde invarianter og efterlade objekter i en inkonsistent tilstand. De tvinger dig i bund og grund til at huske, at næsten alle udsagn, du fremsætter, potentielt kan kaste, og håndtere det korrekt. Det kan være vanskeligt og kontraintuitivt at gøre det.
Hvorfor er undtagelser dårlige C++?
Hovedårsagen til, at C++-undtagelser så ofte er forbudte, er, at det er meget svært at skrive en undtagelsessikker C++-kode. Undtagelsessikkerhed er ikke et begreb, man hører ret tit, men betyder i bund og grund kode, der ikke skruer for meget op, hvis stakken vikles ud.
Er undtagen undtagelse dårlig?
Du bør bruge mindst undtagen Undtagelse : for at undgå at fange system exceptions som SystemExit eller KeyboardInterrupt. Her er et link til dokumenter. Generelt bør du udtrykkeligt definere exceptions , du vil fange, for at undgå at fange uønskede exceptions . Du bør vide, hvilke undtagelser du ignorerer.
Hvorfor er catch-undtagelse næsten altid en dårlig idé?
catch(Exception) er en dårlig praksis fordi den også fanger alle RuntimeException (umarkeret undtagelse). Dette kan være java-specifikt: Nogle gange bliver du nødt til at kalde metoder, der kaster kontrollerede undtagelser. Hvis dette er i dit EJB / business logic lag, har du 2 valg - fang dem eller smid dem igen.
Er undtagelser dårlige for ydeevnen?
Konklusion. Bruger ikkeundtagelser på grund af deres potentielle effektpåvirkning er en dårlig idé. Undtagelser er med til at give en ensartet måde at håndtere runtime-problemer på, og de hjælper med at skrive ren kode. Du skal dog spore antallet af undtagelser, der er smidt i din kode.