#4.4 golang panic Критические ошибки - Паники (panic)

Далее в уроках периодически будут упоминаться т.н. "паники", кратко рассмотри здесь что это такое.

Паника

Паника (panic) в Go — это механизм аварийной остановки выполнения программы, вызываемый при критических, неустранимых ошибках.

Кто может "вызвать панику"

Состояние паники может вызваться как и самим golang-ом (точнее, без нашего прямого желания), так и нами самими - умышленно, если мы хотим вызывать исключительную ситуацию - прервать выполнение кода.

Вызов паники в коде

Мы можем и сами "бросить панику" в коде, например, в главной функции:

func main() {
	fmt.Println("Обычный вызов") // выполнится
	//  валим программу с этим сообщение об ошибке
	panic("Всё развалилось!")
	fmt.Println("Уже не выполнится") // не выполнится
}

-- здесь функция panic() останаливает нормальный процесс выполнения текущей горутины и стэк вызовов раскручивается в обратную строну, подобно тому, как это происходит для механизма исключений в других языках.

В следующих уроках мы рассмотрим в т.ч. вопрос "перехвата" паники с целью недопущения программы.

Дополнительное чтение