“Bad Coding/Designing Practices”: Catching “indiscriminato” di tutte le Exception

Bad Coding/Designing Practices, Ingegneria del Software 1 13

Subject
“Exception Handling”

Bad Practice
Catching “indiscriminato” di tutte le Exception

Explanation
Catturare sempre e non propagare le eccezioni che si possono verificare su certi blocchi di codice. Nel caso di Java un esempio potrebbe essere il seguente:

try {

   //blocco di codice applicativo

} catch (Trowable t) {}

Problem
Uno dei problemi ai quali porta “il catching” indriscriminato delle eccezioni è la maggiore difficoltà, o addirittura l’impossibilità in molti casi, di riconoscere e far emergere i problemi presenti nel software. Dal punto di vista dell’utente finale del nostro software è una pratica deleteria, perché a volte non permette all’utente stesso di accorgersi che la funzione richiesta non è stata eseguita con esito positivo

Fix
Non catturare MAI le eccezioni, a meno che non sia ESPLICITAMENTE una cosa richiesta e/o voluta, per una ragione specifica e precisa. Ad esempio, un caso tipico, si verifica quando si ha la necessita di fare “wrapping” di una eccezione di un certo tipo per rilanciarne un’altra di tipo diverso.

Note

Scope
Linguaggi OO (Java, C#), PL/SQL e altri linguaggi con supporto al  “Exception Handling”

About the author / 

Salvatore Di Loro

Related Posts

Leave a reply

Your email address will not be published. Required fields are marked *

Instagram

Flickr