Size: a a a

2020 April 06

E

Edgar in Go-go!
Sky Alex
Мем про кучу рековеров в деферах есть?
Мне сложно представить даже такой кейс, где такое может быть 0_о
источник

SA

Sky Alex in Go-go!
Edgar
Мне сложно представить даже такой кейс, где такое может быть 0_о
Везде где есть шанс выпадение паники и нет желания ронять весь сервис.
источник

E

Edgar in Go-go!
Вот мем с тонной if err != nil конечно есть, но как заметили выше, чаще всего это плохой дизайн
источник

SA

Sky Alex in Go-go!
Edgar
Вот мем с тонной if err != nil конечно есть, но как заметили выше, чаще всего это плохой дизайн
Заметили что это необходимость вызвана плохим дизайном языка.
источник

E

Edgar in Go-go!
Sky Alex
Заметили что это необходимость вызвана плохим дизайном языка.
Тогда докину своё, это необходимость происходит, если плохо спроектирована система, а не язык


Есть очень крутая статья на эту тему, как можно улучшить почти любой код, иным образом обрабатывая ошибки
источник

E

Edgar in Go-go!
Я понимаю преимущества try catch и if err != nil

И то и то имеет свои плюсы и свои недостатки, я могу тут ошибаться, но если мне не изменяет память, try catch изначально не хотели завозить из-за того, как его обычно юзают пользователи


Потом снова хотели внести, но не внесли и т.д., но это уже другая история
источник

A

Aikidos in Go-go!
Edgar
Тогда докину своё, это необходимость происходит, если плохо спроектирована система, а не язык


Есть очень крутая статья на эту тему, как можно улучшить почти любой код, иным образом обрабатывая ошибки
Есть ссылка на статью?
источник

SA

Sky Alex in Go-go!
Edgar
Тогда докину своё, это необходимость происходит, если плохо спроектирована система, а не язык


Есть очень крутая статья на эту тему, как можно улучшить почти любой код, иным образом обрабатывая ошибки
Ок, у нас важный сервис с длинным сценарием. При ошибке нужно только прервать выполнение и ответить хттп ошибкой. Что удобней, один try catch или куча if err != nil {} ?
источник

E

Edgar in Go-go!
Aikidos
Есть ссылка на статью?
Надо поискать, но вроде она даже от самих разрабов языка
источник

SA

Sky Alex in Go-go!
Тоже буду благодарен за ссылку.
источник

SL

Sergei Lavrentev in Go-go!
Sky Alex
Ок, у нас важный сервис с длинным сценарием. При ошибке нужно только прервать выполнение и ответить хттп ошибкой. Что удобней, один try catch или куча if err != nil {} ?
По идее на разные ошибки в сценарие нужны разные хттп ошибки, поэтому тут лучше if err
источник

A

Aikidos in Go-go!
Sky Alex
Ок, у нас важный сервис с длинным сценарием. При ошибке нужно только прервать выполнение и ответить хттп ошибкой. Что удобней, один try catch или куча if err != nil {} ?
Проблема try/catch в том, что если ты удалишь try/catch, то компилятор не обратит внимания, а flow изменится.
источник

A

Aikidos in Go-go!
И гдет в рантайме это всплывёт.
источник

SA

Sky Alex in Go-go!
Ну так и if err тоже можно поудалять и компилятор не обратит внимания.
источник

E

Edgar in Go-go!
Sky Alex
Ну так и if err тоже можно поудалять и компилятор не обратит внимания.
Если ты создашь err но не юзанешь его?
источник

SA

Sky Alex in Go-go!
Edgar
Если ты создашь err но не юзанешь его?
как минимум.
Еже когда уже был один if err.
Или когда:
func asd() (a int, err error) {...}
источник

SA

Sky Alex in Go-go!
Ну и на конец забыть после дебага убрать asd, _ := asd()
источник

E

Edgar in Go-go!
В первом случае можно потерять ошибку, во втором случае нет, так как ошибка будет присвоена переменной err, которая вернётся и так
источник

E

Edgar in Go-go!
НО, на все эти случаи есть linter :)
источник

E

Edgar in Go-go!
Я не представляю какой либо проект без линтера
источник