Middle
Агар шумо гуруҳро оғоз кунед ва дар он panic-ро даъват кунед, чӣ мешавад? Гуруҳ қатъ мешавад ё тамоми барнома?
sobes.tech AI
Ҷавоб аз AI
Агар дар goroutine panic рӯй диҳад, ин goroutine махсус бозмедорад, аммо тамоми барнома автоматӣ ба анҷом намерасад. Паника дар goroutine наметавонад тамоми goroutine ё барномаро боздорад, ба истиснои он, ки он ба сатҳи реша расида ва бе коркард мондааст.
Барои пешгирӣ аз қатъии ногаҳонии барнома, шумо метавонед recover-ро дар дохили ҳамин goroutine ё дар функсияи даъваткунанда истифода баред, то паникаро дастгирӣ ва идора кунед.
Масалан:
func() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Паника дар goroutine дастгирӣ шуд:", r)
}
}()
panic("як чиз нодуруст шуд")
}()
Дар ин мисол, паника ба қатъи тамоми барнома оварда намерасаду дар дохили goroutine идора карда мешавад.