Лучше определить свои исключения и их выбрасывать, когда кода и логов будет полно - поймешь что оооооченнь просто что-то будет найти, и в каком месте дыра.
А то бывают понатыкают везде IllegalArgumentException, так потом сидишь и офигиваешь, где как и когда было выбрашено, т.к. 100500 классов бросают это исключение
Для этого же и существует stacktrace.
Если стектрейс не логируется, а логируется только класс исключения, то все равно зачастую этого не достаточно для решения проблемы, т.к. в один и тот же метод можно прийти несколькими путями.