Junior — Middle
Gorutinda panika yuzaga kelsa, qanday oqibatlar bo'lishi mumkin?
sobes.tech AI
AIdan javob
Agar gorutinda panika (panic) yuzaga kelsa, bu gorutinaning bajarilishi to‘xtatiladi va stack unwinding jarayoni boshlanadi, bu vaqt ichida defer bilan belgilangan funksiyalar chaqiriladi.
Agar panika (masalan, recover yordamida) boshqarilmasa, u butun dastur yakuniga olib keladi.
Muhim nuqta shuki, bir gorutindagi panika boshqa gorutindalarni to‘g‘ridan-to‘g‘ri ta'sir qilmaydi — ular ishlashda davom etadi, faqat panika butun dastur to‘xtashiga olib keladigan bo‘lsa.
Panika bilan ishlash misoli:
func() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Panika o‘ljalandi va boshqarildi:", r)
}
}()
panic("narsa noto‘g‘ri ketdi")
}()