Re[10]: Почему в расте отсутствует выброс исключений?
От: DarkEld3r  
Дата: 06.12.22 16:09
Оценка: +1
Здравствуйте, vsb, Вы писали:

vsb>Во-вторых если функция сейчас не бросает ошибок, а завтра начинает бросать, мне надо менять её тип, потом проходить по всем местам её использования и как минимум добавлять туда этот самый вопросик. Потенциально надо рекурсивно менять тип этой вызывающий функции и так далее.


Это как раз преимущество. Внезапно прилетающее исключение не начнёт ломать код, который к этому не был готов. Мы сразу на этапе компиляции увидим места, которые нужно поправить.

vsb>В-четвёртых можно пример, как будет выглядеть код аналогичный


vsb>
vsb>List<Integer> parseStrings(List<String> strings) {
vsb>    return strings.stream().map(s -> Integer.parseInt(s)).toList();
vsb>}
vsb>


vsb>есть у меня подозрение, что вопросиком тут не отделаешься. Конечно на выходе нужен именно результат над списком чисел, а не список результатов над числами.


Тут даже вопросиков не нужно будет:
fn parse_strings(strings: Vec<String>) -> Result<Vec<u32>, ParseIntError> {
    strings.into_iter().map(|s| s.parse()).collect()
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.