#4.4 golang panic Критические ошибки - Паники (panic)
Primary tabs
Forums:
Далее в уроках периодически будут упоминаться т.н. "паники", кратко рассмотри здесь что это такое.
Паника
Паника (panic) в Go — это механизм аварийной остановки выполнения программы, вызываемый при критических, неустранимых ошибках.
Кто может "вызвать панику"
Состояние паники может вызваться как и самим golang-ом (точнее, без нашего прямого желания), так и нами самими - умышленно, если мы хотим вызывать исключительную ситуацию - прервать выполнение кода.
Вызов паники в коде
Мы можем и сами "бросить панику" в коде, например, в главной функции:
func main() {
fmt.Println("Обычный вызов") // выполнится
// валим программу с этим сообщение об ошибке
panic("Всё развалилось!")
fmt.Println("Уже не выполнится") // не выполнится
}
-- здесь функция panic() останаливает нормальный процесс выполнения текущей горутины и стэк вызовов раскручивается в обратную строну, подобно тому, как это происходит для механизма исключений в других языках.
В следующих уроках мы рассмотрим в т.ч. вопрос "перехвата" паники с целью недопущения программы.
Дополнительное чтение
- Восстановление после паники (если читаете уроки по порядку, то пока это можно пропустить)
- Log in to post comments
- 199 reads