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