Jest wiele z materiału out there co sugeruje, że druk ślad stosu wyjątku jest złą praktyką.
Np. Z sprawdzenia RegexpSingleline w Checkstyle:
Tego sprawdzenia można [...] użyć do znalezienia typowych złych praktyk, takich jak wywoływanie ex.printStacktrace ()
Jednak staram się znaleźć gdziekolwiek, co daje ważny powód, dla którego z pewnością ślad stosu jest bardzo przydatny w śledzeniu, co spowodowało wyjątek. Rzeczy, o których wiem:
Ślad stosu nigdy nie powinien być widoczny dla użytkowników końcowych (ze względu na wygodę użytkownika i ze względów bezpieczeństwa)
Generowanie śladu stosu jest stosunkowo kosztownym procesem (choć jest mało prawdopodobne, aby stanowił problem w większości „wyjątkowych” okoliczności)
Wiele platform rejestrowania wydrukuje ślad stosu za Ciebie (nasz nie i nie, nie możemy go łatwo zmienić)
Drukowanie śladu stosu nie stanowi obsługi błędów. Powinien być połączony z rejestrowaniem innych informacji i obsługą wyjątków.
Jakie są inne powody, dla których warto unikać drukowania śladu stosu w kodzie?
.printStackTrace()
w kodzie :)