возвращать ?:)
А если ошибка, но мне не нужно ее обрабатывать, а просто прокинуть наверх и выплюнуть 500?
Такого обычно не бывает. Если у тебя сервер-сайд ошибка, то ты в любом случае хочешь хотя бы в логе оставить записи об обстоятельствах её возникновения и каунтеры у метрик крутануть.
На обычный сценарий дернуть сторонний сервис нужно 6 обработок- Создался запрос Выполнился Код ответа 200 Прочиталось тело Закрылось тело Json unmarshalился Зачем мне отдельно обрабатывать все это в реальном приложении?
чтобы не делать отдельно, то можете хитрый трюк сделать — называется функция
Кек, и? Причем тут функции?
Мидлварь не знает про контекст, специфичный для хендлера. Она может залогировать и посчитать какие-то общие моменты, типа "ошибка при обращении к такому-то роуту" или "инкрементим катетер 500-ок". Но то, что, например, обосрался запрос к базе или фс выдала permission denied, мидлварь не увидит.
Ну это в го так. А в питоне спокойно опишет все от и до. Что опять же аргумент в пользу эксепшонов
ну обернуть еще одни исключением, рожденный летать 🙂
Т.е. мидлварь должна быть в курсе всех эксепшенов, которые возникают у тебя в хендлерах, и уметь обрабатывать их специфичным для каждого бизнес-кейса образом?
Блин, нет конечно, что за бред
специфичным? неее — магичным
Тогда в каком месте эксепшены позволяют писать "от и до" их обработку?
Мы про логи для постмортема или обработку для рантайма?
Про метрики и логи для постмортема. Можешь привести пример, когда дополнительный контекст не нужен, и хватит только общего, который захватит мидлварь плюс стектрейс в сентри?
Сложно привести конкретный пример, потому что вся моя работа - этот пример Ситуации, когда контекст нужен сверх того, что дает сентри, случаются очень редко И для этого... Тадамс... Есть отдельная фича в сентри для обогащения контекстом Но, повторюсь, это РЕДКИЙ случай Из сотен - единицы
Обсуждают сегодня