Найти тему

058 И Опыт, сын ошибок трудных

О сколько нам открытий чудных
Готовят просвещенья дух
И Опыт, [сын] ошибок трудных,
И Гений, [парадоксов] друг,
[И Случай, бог изобретатель]
1829 г.

Короткое вступление про ошибки.

В предыдущей статье при работе над алгоритмом расчета совершенных чисел был написан следующий код:

Go Playground - The Go Programming Language

В нем, переменной n присвоено значение -1000 и при запуске программы песочница ругается страшными словами - panic: runtime error: negative shift amount

После этого выполнение программы в принципе невозможно, а завершение некорректно.

Мы можем задействовать пакет из стандартной библиотеки - error и обрабатывать ошибки с помощью него:

Go Playground - The Go Programming Language

В данном примере в условии четко указано, что n не может быть меньше или равным 0, если условие срабатывает, формируем ошибку и корректно завершаем программу. В будущем мы будем часто применять ошибки, например при открытии и записи файла без них не обойтись.