Почему Swift не решает исключение "индекс вне границ"?
Говорят, что Swift разработан с учетом требований безопасности. Если это так, то почему у него нет встроенного решения для ошибки "индекс вне диапазона"?
Например, он может возвращать необязательные значения при использовании индексов массива:
let friends = ["Jack", "Lisa", "Brian"]
let friend1 = friends[1] // Optional("Lisa")
let friend3 = friends[3] // nil
Словари используют этот шаблон, и с этим проблем нет.
Я знаю, что могу сравнить индексы массива с friends.count
Но делать это постоянно утомительно.
Я просто не понимаю, почему это не решают дизайнеры Swift. Может быть, есть некоторые распространенные соглашения или технические ограничения, о которых я не знаю. В этом случае, я был бы благодарен за объяснение.