Ada banyak dari bahan luar sana yang menunjukkan bahwa mencetak jejak tumpukan pengecualian adalah praktek yang buruk.
Misalnya dari pemeriksaan RegexpSingleline di Checkstyle:
Pemeriksaan ini dapat digunakan [...] untuk menemukan praktik buruk umum seperti memanggil ex.printStacktrace ()
Namun, saya berjuang untuk menemukan di mana saja yang memberikan alasan yang sah mengapa karena tentu saja jejak tumpukan sangat berguna dalam melacak apa yang menyebabkan pengecualian. Hal-hal yang saya ketahui:
Jejak tumpukan tidak boleh terlihat oleh pengguna akhir (untuk pengalaman pengguna dan tujuan keamanan)
Menghasilkan jejak tumpukan adalah proses yang relatif mahal (meskipun tidak mungkin menjadi masalah dalam keadaan paling 'luar biasa')
Banyak kerangka kerja pencatatan akan mencetak jejak tumpukan untuk Anda (milik kami tidak dan tidak, kami tidak dapat mengubahnya dengan mudah)
Mencetak jejak tumpukan bukan merupakan penanganan kesalahan. Ini harus dikombinasikan dengan pencatatan informasi dan penanganan pengecualian lainnya.
Apa alasan lain yang ada untuk menghindari pencetakan jejak tumpukan dalam kode Anda?
.printStackTrace()
kode Anda :)