👣 Перестань просто «пробрасывать» ошибки - начни **проектировать** их
В это статье автор критикует распространённую практику обработки ошибок:
мы ловим ошибку, оборачиваем (или не оборачиваем) и швыряем её выше по стеку - без смысла и контекста.
Проблемы, которые обсуждаются:
• стандартная цепочка ошибок (как в Rust) подходит не для всех случаев —
иногда нужна структурированная информация об ошибках, а не просто цепочка.
• стек вызовов (backtrace) показывает *где* ошибка возникла, но не *почему* и *как* её обрабатывать.
• популярные библиотеки (`thiserror`, `anyhow`) ориентированы на удобство,
но дают мало информации о том, что делать с ошибкой дальше.
Основная идея:
❗ ошибки должны быть спроектированы под действие — они должны говорить не только *что упало*,
но и *что с этим делать* (например: можно ли повторить, игнорировать, логировать и т.п.).
То есть автор предлагает думать о назначении ошибки, а не просто пробрасывать её дальше.
👉 Важно для разработчиков, которые хотят делать более понятные, структурированные и машинно-обрабатываемые ошибки.
fast.github.io/blog/stop-forwarding-errors-start-designing-them/
Post #1181
5.11K

- 👍 21
- 🔥 11
- ❤ 6
- 🥰 1
- 🤗 1