Cat
ладно
Dmitry
какой-такой стектрейс?
который пришел по сети с машины которая не запустилась в доме который построил джек
Dmitry
и всё это строкой?
да, потому что это ДЛЯ ЧЕЛОВЕКА, а не для машины
Cat
ааааа
Cat
как же я сразу-то не понял!!!!!!
Cat
(сорри, надоело)
Dmitry
тупенький наверно
Dmitry
:)
Cat
получается так
Dmitry
смотрите - я вижу только один случай когда вам действительно нужно что то кроме ошибки и строки с ошибкой - тот случай когда ваш метод не является инициатором ошибки
Dmitry
тоесть в вашем случае это тот мифический обработчик ошибок который принимает сообщения от всего интернета
Daniel
коллега
Daniel
вы нам очевидное растолковываете
Daniel
но
Daniel
все мы для своих проектов пишем расширенные структуры для ошибок
Daniel
и мы знаем, чего нам не хватает в стандартной ошибке
Dmitry
можно хоть одну такую структуру поглядеть - если не NDA конечно?
Anonymous
Ошибка это костыль вызванный неумением в общем случае передать контекст выполнения от места получения до места устранения
Cat
> контекст выполнения от места получения до места устранения кажется вы частично написали определение ошибки
Daniel
можно хоть одну такую структуру поглядеть - если не NDA конечно?
все, что под рукой - из живых проектов. но вот я обычно нуждаюсь в типе, значении, сообщении и стектрейсе
Daniel
другого, к сожалению, нет, только строковый
Cat
стектрейс не в виде строки ?
в виде сериализованного линкед листа, конечно же
Dmitry
в виде сериализованного линкед листа, конечно же
двунаправленого или однонаправленого ?
Cat
конечно двунаправленного
Dmitry
конечно двунаправленного
лист содержит поинтеры на обьекты или сами обьекты ?
Cat
(даже не знаю, как тебе намекнуть, что это троллинг)
Cat
лист содержит поинтеры на обьекты или сами обьекты ?
будет хранится в виде мапы map[string]{ value, next_ptr }
Cat
где ключ — адрес ячейки, а next_ptr — строка, указывающая на следующую ячейку
Anonymous
Вашими молитвами, спасибо, разорбрался. @ejilay @di3young @zelenin всем спасибо ребята.
Dmitry
где ключ — адрес ячейки, а next_ptr — строка, указывающая на следующую ячейку
мьютексы использбуете или собственую имплементацию мапы ?
Daniel
а что за значение ?
собственно - код ошибки. в принципе, тип и значение можнообъединить в одно число, но придется же разъединять
Антон
/save. Спасибо
Dmitry
собственно - код ошибки. в принципе, тип и значение можнообъединить в одно число, но придется же разъединять
ну вобщем то вы пытаетесь вынести контект ошибки за пределы места где произошла ошибка. по моему мнению если вы не смогли обработать ее на месте, то не сможете ее нормально обработать и выше. тоесть ошибки вида "x компьютеров запустились, y компьютеров отказали" не должно обрабатываться в зависимости от значения x и y.
Kirill
а чо, этого еще кто-то не знал? О_о
Nazar
Nazar
Kirill
я не знаю, что ты там говоришь, но за голосовые буду впредь кикать.
Daniel
ну вобщем то вы пытаетесь вынести контект ошибки за пределы места где произошла ошибка. по моему мнению если вы не смогли обработать ее на месте, то не сможете ее нормально обработать и выше. тоесть ошибки вида "x компьютеров запустились, y компьютеров отказали" не должно обрабатываться в зависимости от значения x и y.
коллега, подумайте вот о чем: 1. или я вытаскиваю контекст ошибки туда, где у меня есть логгер, или затаскиваю логгер туда, где произошла ошибка 2. даже если я это сделал - я все равно должен что-то вернуть, правда? 3. то, что я вернул, должно быть содержательным, так? иначе мы бы возвращали bool и не парились
Dmitry
я не знаю, что ты там говоришь, но за голосовые буду впредь кикать.
хорошая идея. а то моду взяли в других чатиках
Daniel
И что? Это в пользу какого тезиса аргумент?
Dmitry
да, я признаю что не вижу как уложить в эту схему ситуацию когда вам из ошибки в зависимости от некоторых условий нужны разные данные. но я бы постарался по максимуму избежать такого
Daniel
Спасибо за совет, бро
Dmitry
И что? Это в пользу какого тезиса аргумент?
это в пользу того тезиса что вызывающий код знает ттолько то что ошибка удовлетворяет интерфейсу Error
Dmitry
и не лезет самостоятельно ни в какие поля структуры ошибки
Daniel
Там выше кто про структуру писал?
Dmitry
кто? где? когда ?
Daniel
Если все, что у меня есть, это интерфейс error (c маленькой) - ничего, кроме строки, я не передам. Уникальной строки, если я хочу хоть что-то о контексте ошибки сообщить
Daniel
Откуда я узнаю тип?!
Dmitry
x,ok := e.(MyError) ?
Daniel
То есть - вы предлагаете примерно то же, что и я, только без явного указания в интерфейсе error.
Daniel
Это тупняк, коллега, примите что-нибудь
Dmitry
эм, я вас не запоминал кто что предлагает
Dmitry
То есть - вы предлагаете примерно то же, что и я, только без явного указания в интерфейсе error.
только без явного указания в интерфейсе error. это фраза непонятна
Alexandr
Коллеги, скажите, плиз, каким образом хранятся в структуре, поля структуры. Там лежит поитер? type Config struct { Database Database HttpServer HttpServer }
Alexandr
при передаче Config по ссылке и изменении там Config.Database.field1 измениться ли это поле в исходной структуре Config?
Alexandr
а то на ночь глядя запутался
Daniel
Там лежит что положите
Daniel
Но - да, изменится
Aleksey
Структуры по ссылке передаются всегда, но если передать не как ссылку, то при изменении будет копирование
Alexandr
@supmea, @onokonem спасибо!
Constantine️
@onokonem мастер, ты как раз тут ))
Constantine️
а не, ночью был 😄
Constantine️
в общем у меня такой вопрос, кто как хранит сваггер доку и генерируемый код
Constantine️
рядом с сервисом, в монорепе, только у себя на жестком диске
Daniel
в общем у меня такой вопрос, кто как хранит сваггер доку и генерируемый код
генерированный код я коммичу в репу, репу на протокол стараюсь делать отдельную, тогда можно ее шарить, например, с фронтендерами.
Yuiry
а если используется микросервисная архитектура?
Constantine️
то есть протокол (дока) и микросервис у тебя разные репо?
Daniel
у меня есть swagger.yml и генерированное из него - это одна репа, и сервисы, которые его используют - в своих