Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpPnPrm 57 of 280 menu
◀ ▶

Практика на аварийный останов в Go

Дан следующий код:

fmt.Println("start") panic("mid") fmt.Println("end")

Запишите в main этот фрагмент и скажите, какие строки выведутся без перехвата.

Дана функция:

func run() { panic("fail") }

Вызовите run из main, перехватите останов в отложенной функции и выведите "fine" после вызова.

Дан следующий код:

func probe() { fmt.Println(recover()) }

В main вызовите probe, затем остановите программу с "z" без перехвата. Скажите, что напечатает probe.

Даны функции:

func leaf() { panic("leaf") } func root() { leaf() }

В main перехватите останов после вызова root и выведите "back".

Дан следующий код:

func work() { fmt.Println("in") panic("no") fmt.Println("skip") }

Оберните вызов work перехватом в main и перечислите строки вывода по порядку.

Дана функция:

func twice() { panic("once") }

В main выведите "A", вызовите twice без перехвата и выведите "B". Скажите, дойдет ли печать "B".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить