Perché le eccezioni sono cattive?

Perché le eccezioni sono cattive?
Perché le eccezioni sono cattive?
Anonim

Le eccezioni rendono davvero facile scrivere codice in cui un'eccezione generata interromperà le invarianti e lascerà gli oggetti in uno stato incoerente. Essenzialmente ti costringono a ricordare che quasi ogni affermazione che fai può potenzialmente lanciare e gestirla correttamente. Farlo può essere complicato e controintuitivo.

Perché le eccezioni sono un C++ errato?

Il motivo principale per cui le eccezioni C++ sono così spesso vietate è che è molto difficile scrivere codice C++ sicuro per le eccezioni. La sicurezza delle eccezioni non è un termine che si sente molto spesso, ma in pratica significa codice che non si rovina troppo gravemente se lo stack viene svolto.

L'eccezione è un male?

Dovresti usare almeno eccetto Exception : per evitare di intercettare il sistema eccezioni come SystemExit o KeyboardInterrupt. Ecco il link ai documenti. In generale dovresti definire esplicitamente eccezioni che vuoi intercettare, per evitare di catturare eccezioni indesiderate. Dovresti sapere quali eccezioni ignori.

Perché la cattura dell'eccezione è quasi sempre una cattiva idea?

catch(Exception) è una cattiva pratica perché cattura anche tutte le RuntimeException (eccezione non controllata). Questo potrebbe essere specifico di java: a volte sarà necessario chiamare metodi che generano eccezioni verificate. Se questo è nel tuo livello EJB / business logic hai 2 scelte: catturali o rilanciali.

Le eccezioni sono dannose per le prestazioni?

Conclusione. Non utilizzandoeccezioni a causa del loro potenziale impatto sulle prestazioni è una cattiva idea. Le eccezioni aiutano a fornire un modo uniforme per far fronte ai problemi di runtime e aiutano a scrivere codice pulito. È tuttavia necessario tracciare il numero di eccezioni generate nel codice.

Consigliato: