Domanda

Attualmente sto refactoring di una base di codice esistente (EJBS) per strappare tutti i blocchi in cui un tiraiobile viene catturato all'interno dell'EJB.

try {
    ... do some business logic
} catch(Throwable t){
    ... log and swallow ... :-(
}

Voglio/bisogno di convincere le persone intorno a me con una corretta documentazione che "catturare tipicabile" è un no-go per un EJB (abbiamo molte discussioni su questo). WebLogic gestirà tutte le condizioni di "errore" e forse invaliderà gli EJB e metteranno gli EJB freschi (funzionanti) nel pool. Catturare Throwlable minerebbe tutte queste reti di sicurezza fornite da Weblogic, e catturare è una cattiva pratica comunque (ma le persone qui sono riluttanti e usano il martello "lanciabile" ovunque).

Chiunque sia in grado di indicarmi alcuni documenti online in cui questo comportamento è spiegato (per WebLogic, JBoss, ecc.). Ho cercato tramite Google e ho dato un'occhiata ai documenti Weblogic ma non sono stato in grado di trovare nulla, solo generico dottore Java.

È stato utile?

Soluzione

Dicono che la prova è nel budino.

Scrivi un piccolo esempio che non fa altro che lanciare diversi tipi di eccezioni (runtime, errori) e dimostra che il tuo contenitore li gestisce con grazia.

Questo fermerà i critici morti nelle loro tracce.

Altri suggerimenti

  1. Acquista una copia di Efficace Java, seconda edizione di Joshua Bloch Per ogni membro della tua squadra.

  2. Chiedi a tutti di leggere il capitolo 9, "Eccezioni", che copre:

    • "Usa le eccezioni solo per condizioni eccezionali"
    • "Usa le eccezioni controllate per condizioni recuperabili e le eccezioni di runtime per gli errori di programmazione"
    • "Evita l'uso inutile delle eccezioni controllate"
    • "Favorire l'uso di eccezioni standard"
    • "Lancia le eccezioni appropriate all'astrazione"
    • "Documenta tutte le eccezioni lanciate con ogni metodo"
    • "Includi le informazioni di fallimento nei messaggi dettagliati"
    • "Lotta per l'atomicità del fallimento"
    • "Non ignorare le eccezioni"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top