Везде ли нужно проверять на существование элемента в массиве?
Правы оба.
Лучше раньше упасть, чем обработать кривые данные так, как будто они нормальные. Но и просто бездумно падать в самую базовую ошибку неправильно - потом задолбаетесь выяснять при каких обстоятельствах код упал. Лучше провалидировать и кинуть осмысленное исключение, которое поможет отловить проблему.
Самый Правильный и Сжатый Ответ - Абсолютно Всегда!