Как написать идеальный картограф исключений? - PullRequest
0 голосов
/ 07 мая 2020

Я читал о настраиваемых исключениях, а также:

Thorben предлагает здесь: https://stackify.com/java-custom-exceptions/#wpautbox_about

Здесь предлагается Baeldung: https://www.baeldung.com/java-new-custom-exception

Пользовательское исключение должно быть более выгодным, чем исходное исключение, иначе оно потеряет свое назначение. Для этого мы всегда должны передавать вызываемую причину в собственное исключение. В моем приложении указаны перечисления c ErrorCode, в которых есть собственный код ошибки и настраиваемое сообщение.

@Getter
@AllArgsConstructor
public enum ErrorType {
    DATABASE_SERVICE_UNAVAILABLE(9001, "Cant persist to Database"),
    //and more...
    private final int errorCode;
    private final String errorMessage;
}

Что я должен отправить в качестве ответа при написании сопоставителя исключений?

1) Пользовательское перечисление кодов ошибок (только код ошибки и сообщение об ошибке)

ИЛИ

2) Пользовательское перечисление кодов ошибок + Возможная причина (оба)

Если мы не отправим throwable, какова будет его цель?

1 Ответ

1 голос
/ 07 мая 2020

Что я должен отправить в качестве ответа при написании сопоставителя исключений?

Если под «ответом» вы имеете в виду ответ, возвращенный контроллером, то я думаю, вам следует отправьте код ошибки и сообщение об ошибке . Почему клиенту может быть интересен ваш метательный объект. Просто сообщите клиенту понятную причину ошибки. Вы должны просто зарегистрировать исключение в своем приложении для отладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...