Betrachten Sie eine Funktion der folgenden allgemeinen Form:
Foo findFoo(Collection<Foo> foos, otherarguments)
throws ObjectNotFoundException {
for(Foo foo : foos){
if(/* foo meets some condition*/){
return foo;
}
}
throw new ObjectNotFoundException();
}
Ein konkreter Fall wäre zum Beispiel:
User findUserByName(Collection<User> users, String name)
throws ObjectNotFoundException {
for(User user : users){
if(user.getName().equals(name)){
return user;
}
}
throw new ObjectNotFoundException();
}
Diese Funktionen lösen eine Ausnahme aus, wenn das Objekt nicht gefunden wird. Ich kann zu diesem Zweck eine benutzerdefinierte Ausnahmeklasse erstellen (in den Beispielen ObjectNotFoundException
), würde jedoch lieber eine vorhandene Klasse verwenden. In der Standard-Java-Bibliothek konnte ich jedoch keine Ausnahmeklasse mit dieser Bedeutung finden. Wissen Sie, ob es eine Standardausnahme gibt, die hier verwendet werden kann?
IlleagalArgumentException
?