Я пишу веб-службу на 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 для этого проекта и могу документировать коды ошибок в строке и автоматически обновлять их в документации.