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