Re[10]: Почему в расте отсутствует выброс исключений?
От: T4r4sB Россия  
Дата: 06.12.22 14:44
Оценка: 18 (1) +1
Здравствуйте, vsb, Вы писали:

vsb>Во-первых у каждой функции с ошибками надо возвращать Result вместо конкретного типа. Это как минимум синтаксический шум.


Вместо T возвращаешь Result<T, MyError>

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


Неявные точки выхода это зло.

vsb>Потенциально надо рекурсивно менять тип этой вызывающий функции и так далее.


С checked exceptions то же самое. А unchecked это зло.

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


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


https://doc.rust-lang.org/rust-by-example/error/iter_result.html#fail-the-entire-operation-with-collect
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Отредактировано 06.12.2022 14:45 T4r4sB . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.