Рассмотрим функцию следующего общего вида:
Foo findFoo(Collection<Foo> foos, otherarguments)
throws ObjectNotFoundException {
for(Foo foo : foos){
if(/* foo meets some condition*/){
return foo;
}
}
throw new ObjectNotFoundException();
}
Например, конкретный случай:
User findUserByName(Collection<User> users, String name)
throws ObjectNotFoundException {
for(User user : users){
if(user.getName().equals(name)){
return user;
}
}
throw new ObjectNotFoundException();
}
Эти функции генерируют исключение, если объект не найден. Я могу создать для них специальный класс исключений (в примерах ObjectNotFoundException
), но я бы предпочел использовать существующий класс. Однако я не смог найти класс исключения с этим значением в стандартной библиотеке java. Вы знаете, есть ли стандартное исключение, которое можно использовать здесь?