Junior — Middle
Программада panic түрүндөгү катаны кармоо жана иштетүү үчүн кандай ыкмалар бар?
sobes.tech AI
AIден жооп
Go тилинде, panic түрүндөгү каталарды кармоо жана иштетүү үчүн recover механизми defer менен бирге колдонулат. recover функциясы паниканы кармап, программаны күтүүсүздөн токтото турганды алдын алууга мүмкүндүк берет.
Мисал:
func safeFunction() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Тамырланган паника:", r)
}
}()
// panic жаратышы мүмкүн код
panic("эч нерсе туура эмес болду")
}
func main() {
safeFunction()
fmt.Println("Программа ишин улантат")
}
Бул мисалда, defer анонимдүү функциянын иштешин кечиктирет, ал recover чакырат. Эгер safeFunction ичинде паника болсо, ал кармалат жана иштетилет, бул программа иштөөдө улантууга мүмкүндүк берет.