C'è un sacco di materiale fuori là che suggerisce che la stampa la traccia dello stack di un'eccezione è cattiva pratica.
Ad esempio, dal check di RegexpSingleline in Checkstyle:
Questo controllo può essere usato [...] per trovare cattive pratiche comuni come chiamare ex.printStacktrace ()
Tuttavia, faccio fatica a trovare un posto che dia un valido motivo per cui, poiché sicuramente la traccia dello stack è molto utile per rintracciare ciò che ha causato l'eccezione. Cose di cui sono a conoscenza:
Una traccia dello stack non dovrebbe mai essere visibile agli utenti finali (per esperienza dell'utente e per motivi di sicurezza)
La generazione di una traccia dello stack è un processo relativamente costoso (anche se è improbabile che sia un problema nella maggior parte delle circostanze "eccezionali")
Molti framework di registrazione stamperanno la traccia dello stack per te (la nostra no e no, non possiamo cambiarla facilmente)
La stampa della traccia dello stack non costituisce una gestione degli errori. Dovrebbe essere combinato con altre informazioni di registrazione e gestione delle eccezioni.
Quali altri motivi ci sono per evitare di stampare una traccia dello stack nel tuo codice?