Я пишу веб-сервис на Java и пытаюсь найти лучший способ определения кодов ошибок и связанных с ними строк ошибок . Мне нужно, чтобы числовой код ошибки и строка ошибки были сгруппированы вместе. И код ошибки, и строка ошибки будут отправлены клиенту, обращающемуся к веб-службе. Например, когда возникает SQLException, я могу сделать следующее:
// Example: errorCode = 1,
// errorString = "There was a problem accessing the database."
throw new SomeWebServiceException(errorCode, errorString);
Клиентской программе может отображаться сообщение:
"Произошла ошибка № 1: произошла ошибка
проблема с доступом к базе данных. "
Моей первой мыслью было использование Enum
кодов ошибок и переопределение методов toString
для возврата строк ошибок. Вот что я придумал:
public enum Errors {
DATABASE {
@Override
public String toString() {
return "A database error has occured.";
}
},
DUPLICATE_USER {
@Override
public String toString() {
return "This user already exists.";
}
},
// more errors follow
}
Мой вопрос: Есть ли лучший способ сделать это? Я бы предпочел решение в коде, а не чтение из внешнего файла. Я использую Javadoc для этого проекта, и возможность документировать коды ошибок в строке и автоматически обновлять их в документации.