Регистрация исключения на Яве?

Я использую свободное городское население, загружающее JAVA-приложение, и я хочу зарегистрировать исключение из трассировки стека.

catch( Exception exception ) {
         logger.error( "FailedCreateActivityFunction Exception Occured : " , exception );
         throw new EngineException( getMessage( ERROR_FailedCreateActivityFunction, FunctionName ), exception );
      }

Желание этот бросок исключение дважды? Если да, как зафиксировать его?

Whats the difference between using it as this way using + exception instead of , exception

logger.error( "FailedCreateActivityFunction Exception Occured : " + exception );
2
добавлено
Просмотры: 1
de
различие использования + исключение вместо, исключение может быть замечено в явском докторе "общественная недействительная ошибка (Сообщение объекта, Throwable t)" функция ошибок может принять только сообщение или сообщение + throwable
добавлено автор goravine, источник

2 ответы

Нет это не бросит исключение дважды. Этот код бросит только EngineException.

Необходимо постараться не регистрировать и бросать исключения, сделать только одну вещь. Регистрация и бросок - антиобразец. Можно читать больше об обработке исключений здесь: Антиобразцы обработки исключений.

Различие между теми двумя способами выполнить ошибочный метод:

  • в logger.error (Сообщение последовательности, Throwable t) - вы передаете объект, таким образом, платформа журналирования имеет больше информации и может показать вам полную трассировку стека
  • в logger.error (Сообщение последовательности) - вы создаете Последовательность, никакая дополнительная информация не передается к платформе журналирования
4
добавлено
Можно ли, пожалуйста, определить, какой путь я должен использовать в этом сценарии + исключение или , исключение ? Какой-либо другой способ выдвинуть это stacktrace лесорубу?
добавлено автор Debajyoti Das, источник
Необходимо обычно использовать , исключение путь. И поскольку далеко я знаю, все хорошие платформы журналирования выдвигают трассировку стека лесорубу, когда вы используете ее тот путь.
добавлено автор mleczey, источник

Нет, это не бросит его дважды.

первый метод напечатает ваше сообщение И stacktrace исключения.

второй метод напечатает только ваше сообщение И сообщение об исключении (призывающий throwable.toString() это возвращает краткое описание ошибки), без stacktrace.

1
добавлено