Post Thumbnail

В Go продолжаются споры о том, когда использовать панику, а когда - ошибки. Паника может возникать не только из-за явного вызова panic(), но и из-за ошибок времени выполнения, например, разыменования nil-указателя или выхода за границы среза. Функция recover() позволяет восстановить выполнение после паники, но только если она вызвана непосредственно внутри отложенной функции и в той же горутине, где произошла паника. Несоблюдение этих правил - частая причина сбоев. Для надёжной обработки паники в конкурентных сценариях рекомендуется использовать вспомогательные обёртки (например, на основе errgroup), которые автоматически преобразуют панику в ошибку и гарантируют, что ни одна горутина не обрушит всё приложение. Понимание этих нюансов поможет избежать скрытых багов и сделать код стабильнее.

Похожее

Post Thumbnail

Домашний HAL

Автор считает, что пора собирать себе домашнего HAL’а на новых локальных моделях...

Post Thumbnail

go tool task

Я очень люблю Taskfile и в своих петпроектах не пользуюсь Makefile. Это реально ...