Существует много из материала отказа там , который наводит на мысль , что печать трассировку стека исключения плохая практика.
Например, из проверки RegexpSingleline в Checkstyle:
Эта проверка может использоваться [...] для поиска распространенных плохих методов, таких как вызов ex.printStacktrace ()
Однако я изо всех сил пытаюсь найти что-либо, что дает вескую причину, поскольку, безусловно, трассировка стека очень полезна для отслеживания того, что вызвало исключение. Вещи, о которых я знаю:
Трассировка стека никогда не должна быть видна конечным пользователям (для удобства пользователей и в целях безопасности)
Создание трассировки стека - относительно дорогостоящий процесс (хотя вряд ли он станет проблемой в большинстве «исключительных» обстоятельств).
Многие фреймворки ведения журналов будут печатать трассировку стека для вас (у нас нет и нет, мы не можем легко это изменить)
Печать трассировки стека не является обработкой ошибок. Его следует сочетать с другой регистрацией информации и обработкой исключений.
Какие еще причины позволяют избежать вывода трассировки стека в код?
.printStackTrace()
в вашем коде :)