У меня есть сомнения с повторными бросками. Следующий код находится внутри расширения словаря:
init(_value: [(Key, Value)]) {
self.init(_value, uniquingKeysWith: { _, first in first }) //Call can throw, but it is not marked with 'try' and the error is not handled
}
здесь uniquingKeysWith не будет выдавать ошибку, так как я указываю последовательность, все еще компилятор говорит "Вызов может бросить, но он не отмечен'try' и ошибка не обрабатывается "
Может кто-нибудь объяснить мне, почему мне нужно обработать ошибку для init, когда параметр не выбрасывает? Согласно концепции rethrows, если параметр uniquingKeysWith не будет выдавать ошибку, метод не должен обрабатывать ошибки.