Size: a a a

2020 May 07

ВС

Владимир Столяров... in Go-go!
Дмитрий Синявский
Ребят, всем привет. Есть ли у кого свои подходы по организации работы с ошибками и их оборачивании?
Я использую juju/errors Annotate. Команда требует определить правила, когда обернуть ошибку, а когда нет. Пока все делают на свое усмотрение.
#errors #bestpractice
возвращать всегда fmt.Errorf("%w", err) чтобы приучиться к использованию Is/As
источник

N

Nioray in Go-go!
А норм подход с ошибками обрабатывать на 1 уровне?
Тогда если где то внизу это случается приходится прокидывать высоко наверх
источник

DP

Daniel Podolsky in Go-go!
Дмитрий Синявский
Ребят, всем привет. Есть ли у кого свои подходы по организации работы с ошибками и их оборачивании?
Я использую juju/errors Annotate. Команда требует определить правила, когда обернуть ошибку, а когда нет. Пока все делают на свое усмотрение.
#errors #bestpractice
пора переставать, кстати, использовать кастомные либы для ошибок

кривой-косой, но в стандартной либе теперь есть способ анотировать ошибки
источник

А

Ан in Go-go!
Дмитрий Синявский
Ребят, всем привет. Есть ли у кого свои подходы по организации работы с ошибками и их оборачивании?
Я использую juju/errors Annotate. Команда требует определить правила, когда обернуть ошибку, а когда нет. Пока все делают на свое усмотрение.
#errors #bestpractice
Я пришел к тому, что не возвращаю ошибок. Либо nil, либо результат.
источник

ДС

Дмитрий Синявский... in Go-go!
Владимир Столяров
возвращать всегда fmt.Errorf("%w", err) чтобы приучиться к использованию Is/As
А как тут пригодиться is/as есть где посмотреть?
источник

VV

Vladimir Votinov in Go-go!
Ан
Я пришел к тому, что не возвращаю ошибок. Либо nil, либо результат.
Сейчас тебя распнут
источник

ДС

Дмитрий Синявский... in Go-go!
Daniel Podolsky
пора переставать, кстати, использовать кастомные либы для ошибок

кривой-косой, но в стандартной либе теперь есть способ анотировать ошибки
Errorf предлагаешь?
источник

DP

Daniel Podolsky in Go-go!
Дмитрий Синявский
А как тут пригодиться is/as есть где посмотреть?
именно тут не пригодится, но и == уже не будет работать
источник

DP

Daniel Podolsky in Go-go!
Дмитрий Синявский
Errorf предлагаешь?
да
источник

ДС

Дмитрий Синявский... in Go-go!
Ан
Я пришел к тому, что не возвращаю ошибок. Либо nil, либо результат.
А если валидация не прошла - в результат?
источник

А

Ан in Go-go!
Vladimir Votinov
Сейчас тебя распнут
А смысл? Это мой опыт
источник

А

Ан in Go-go!
Дмитрий Синявский
А если валидация не прошла - в результат?
nil
источник

DP

Daniel Podolsky in Go-go!
Ан
А смысл? Это мой опыт
must die, must die, Jesus must die!
источник

ДС

Дмитрий Синявский... in Go-go!
Ан
nil
А как узнать, что не так конкретно? Или вашему пользователю это не надо, ь
источник

А

Ан in Go-go!
Дмитрий Синявский
А как узнать, что не так конкретно? Или вашему пользователю это не надо, ь
Логи
источник

ДС

Дмитрий Синявский... in Go-go!
Может быть... Пока даже в стандартной либе микс из разных подходов. Мне лично больше as-is нравиться
источник

ДС

Дмитрий Синявский... in Go-go!
Ан
Логи
В каких-то специфичных случаях думаю это канает. Но это должно быть очень жесткая конструкция.
источник

DP

Daniel Podolsky in Go-go!
Дмитрий Синявский
Может быть... Пока даже в стандартной либе микс из разных подходов. Мне лично больше as-is нравиться
эээээ

анотируем мы ошибки с помощью fmt.Errorf() и его %w

проверяем мы ошибки с помощью errors.As() и errors.Is()

и все это в стандартной либе
источник

ДС

Дмитрий Синявский... in Go-go!
Daniel Podolsky
пора переставать, кстати, использовать кастомные либы для ошибок

кривой-косой, но в стандартной либе теперь есть способ анотировать ошибки
Кстати нет ли по такому случаю статейке в блоге разработчиков?
источник

DP

Daniel Podolsky in Go-go!
канешн, есть. гуглиться на раз
источник