2016-07-08 5 views
0

Цепное исключение полезно в тех случаях, когда полезно знание основной причины. Метод Throwable getCause() возвращает исключение, лежащее в основе текущего исключения.Цепное исключение против PrintStackTrace

С другой стороны, если мы будем называть PrintStackTrace() в блоке catch, мы будем иметь все журналы, напечатанные в файле журнала (и в консоли eclipse). В подробном журнале будет показано исключение и основная цепочка исключений.

Итак, в чем основное отличие в их использовании.

+0

Я использую трассировку стека, чтобы дать мне отправную точку, чтобы найти проблемы. Если я не могу найти его, я бы использовал исключение для распечатки специфики. И все равно не найдешь, что не так – MNM

ответ

0

Один из подходов заключается в предоставлении отладочной информации (PrintStackTrace). Другой подход - для фактического управления потоком (Throwable.getCause()).

(Обычно) основная причина считается деталью реализации и поэтому не должна использоваться для управления потоком. Добавьте необходимую информацию в основное исключение или создайте несколько типов для исключения.

Смежные вопросы