Алексей
И ему приходится её возвращать
Алексей
И так далее
Алексей
И в Go это реализовано самым худшим образом
Andrey
Andrey
если это библиотечный код, то он должен генерить свою ошибку
Andrey
и это опять же безотносительно языка
Andrey
Алексей
в той же джаве к примеру здоровенные стектрейсы, то есть эксепшен может нихреновый такой путь на верх проделывать
Andrey
с exception'ами точно такая же история
Алексей
Andrey
Если бы исключения были единственно правильным методом, то его везде давно бы внедрили
Алексей
Так что ситуация когда надо тупо пробросить наверх ошибку не такая уж и редкая
Алексей
Andrey
ну или windows exception 0xХЗЧТОЭТО
Andrey
Алексей
Andrey
это exception, который наверх вам пробросили. гадайте
Алексей
Алексей
и чем это так отличается от Go (это error даже без стектрейса, который наверх вам пробросили, гадайте)
Andrey
ну ладно, memory could not be read вас устроит? ещё один exception
Алексей
и что это за эксепшены в вакууме?
Andrey
Andrey
с исключениями ровно та же история
Алексей
Прям всегда надо чтоли?
Andrey
вы что, никогда падающий питон скрипт не отлаживали?
Алексей
отлаживал, ничего страшного в этом процессе я не увидел
Andrey
выдаст он вам стек трейс, а наверхе no such file or directory
Andrey
и гадай, что там за файл он хочет
Алексей
ну так по стектрейсу на самый низ спустится можно, хоть под отладчиком туда зайти
Andrey
а всё потому, что чувак, который open вызывает, не обрабатывает исключения, и не оборачивает их в "Failed to open file.txt: no such file or directory"
Алексей
Andrey
или обработка гораздо выше, где инфа про файл уже потерялась
Andrey
Andrey
и в го не везде надо
Andrey
но не рекомендуется
Алексей
с оборачиванием или без - вообще не важно, всегда приходится, или на месте обрабатывать, что не всегда возможно
Andrey
ну. не пользуйтесь го, что я могу сказать
Andrey
непонятен ваш посыл просто, что так трудно ошибку пробросить?
Алексей
и не буду использовать, несмотря на все его преимущества, как раз ровно из-за этого его недостатка
Andrey
почему?
Алексей
потому что
1) это довольно частая тривиальная операция
2) во многих языках это делается с помощью 0 строчек кода, то есть автоматически
Алексей
точнее почти во всех языках
Andrey
так а минусы то какие?
Andrey
если вы так быстро придумываете код, что вас тормозит написание 3х строчек, то поздравляю
Andrey
на это есть шорткаты в редакторе
Алексей
а давайте вместо знака + писать add_two_numbers?
Алексей
почему бы и нет?
Алексей
ведь есть шорткаты в редакторе
Алексей
дело в том, что простые вещи должны делаться просто
Andrey
давайте вы не будете передёргивать, это неуместная аналогия
Алексей
если вы этого не понимаете, то мне не очем с вами больше разговаривать
Andrey
вас просто бомбит, с кем не бывает. гнев - первая стадия
Илья
я не знаю о чем и с кем вы тут обсуждаете свои вкусы динамических языков программирования, при это уже давно :(
Andrey
no offence
Алексей
Алексей
абсолютно
Andrey
ну, люди меняются :)
Алексей
Andrey
Алексей
В C++ есть эксепшены, в Java, C#, Python, JS и ещё кучи мест. Там где нет эксепшенов почему то вводят всякие краткие и удобные штуки для их замены. В Go так не сделали
Andrey
в го есть паники
Denis
Алексей
в го есть паники
Я их называю "исключения для бедных". И их постоянное использование не приветствуется, да и чужой код их как правило не юзает.
Алексей
Andrey
в лиспе нет исключений
Andrei 🦉
лисп даже старше чем си
Алексей
А средства сделать такой проброс (если его нет) точно есть
Andrey
в swift говорят нету тоже