Deine Lösung ist immer noch falsch.
Ein gültiger Index ist im Berech [0;list.size()[ Logischer weise ist alles andere ungültig.
prüfe vorher z.B.
if (index < 0)
if (kleiner) {
// Fehlermeldung
}
// suche
if (größer) {
// suche
}
// Fehlermeldung