Size: a a a

2021 July 10

KF

Konstantin Firsov in dlang.ru
имхо, возможность игнорирования результата функции делает ручной возврат исключений особенно опасным. Хотя в го есть предложение https://github.com/golang/go/issues/20803, там внизу прилеплена ссылка на дарт и по разным языкам есть небольшой список https://github.com/dart-code-checker/dart-code-metrics/issues/364 Насколько я помню, code-d в vscode по дефолту никак не помечает ворнингами эти места. Если же исключение выбрасывается, то обеспечивается некоторая автоматизация - прерывание выполнения и автодоставка исключения к ближайшему обработчику, кгм...
источник

AP

Animus Pexus in dlang.ru
в общем это два разных подхода со своими плюсами и минусами.
минус с эксепшнами - это что если обрабатывать каждую функцию и обрамлять её в try {...} catch ... получится гораздо многословнее..
в тоже время, эксепшны позволяют писать код более красиво и наглядно, как например в dlangui, где изменение параметра объекта возвращает новый объект и ты продолжаешь и дальше функциями изменять объект как надо. в go - так не выйдет.
источник

Т8

Т-34 85 in dlang.ru
Ага, приходим на архитекьуру с 16-битными регистрами и плачем
источник

AP

Animus Pexus in dlang.ru
к слову, в D же есть промисы, как в JS - тоже интересный способ обработки ошибок
источник

DH

Dark Hole in dlang.ru
Промисы это не способ обработки ошибок же
источник

DH

Dark Hole in dlang.ru
И совершенно не понимаю зачем нужны промисы когда можно запилить async/await или корутины
источник

AP

Animus Pexus in dlang.ru
>Промисы это не способ обработки ошибок
но ни кто не запрещает использовать их так, если это уместно
источник

AP

Animus Pexus in dlang.ru
это как в питоне что ли?
источник

EP

Egor Pugin in dlang.ru
> минус с эксепшнами - это что если обрабатывать каждую функцию и обрамлять её в try {...} catch ... получится гораздо многословнее..

а когда нужно делать такое обрамление?
источник

AP

Animus Pexus in dlang.ru
я просто питон забросил ещё до того как там рутины ввели
источник

AP

Animus Pexus in dlang.ru
когда ты пришёл с Go и привык обрабатывать каждую функцию. :)
источник

DH

Dark Hole in dlang.ru
А как в питоне? Я скорее про как в go — у тебя синхронно выглядящий код, но он асинхронный
источник

DH

Dark Hole in dlang.ru
А правда что у вас есть кнопка if err != nil { return err, nil }?)
источник

AP

Animus Pexus in dlang.ru
в go нет async/await - там просто кейворд go в который передаёшь функцию, а перед go объявляешь канал или мутекс
источник

AP

Animus Pexus in dlang.ru
не, я просто писал код, а потом один раз ctrl+c и после каждой функции ctrl+v - ну с модификациями если надо
источник

S

SR_team in dlang.ru
массив на 65535 элементов вполне большой
источник

Т8

Т-34 85 in dlang.ru
Тогда в джаву
источник

AP

Animus Pexus in dlang.ru
было. мне туда больше не надо
источник

Т8

Т-34 85 in dlang.ru
Я думал в жабу или шарп, но остался в крестах
источник

DH

Dark Hole in dlang.ru
64 килобайт хватит всем
источник