Я уверен, что этот вопрос был рассмотрен во многих книгах по передовому опыту, но все же ... В большинстве случаев я вижу примеры неправильного использования пользовательских исключений, поэтому мне было интересно, что будет хорошей ситуацией для использованияих?
В частности, в данный момент я работаю над средством проверки типов для курса по компиляторам. Поэтому у меня есть класс SymbolTable, который довольно похож на Map. Ключевое отличие от вашей обычной картыкаждый символ должен быть определен не более одного раза, поэтому операция put (String, Object) должна завершиться неудачей, если ключ, который мы пытаемся вставить, уже присутствует в SymbolTable.
Так вот вопрос:всякий раз, когда мы пытаемся вставить ключ, и этот ключ уже существует в SymbolTable, как должен вести себя SymbolTable?Должен ли у нас быть метод
boolean insert(String key, Object value);
, который возвращает «ложь» в случае сбоя вставки? Или лучше использовать метод вставки, который имеет возвращаемое значение «void» и выдает исключение, если дублирующее значениесталкивались?
Заранее спасибо:)