Junior — Middle
Kādiem veidiem var aizķert un apstrādāt panic tipa kļūdu programmā?
sobes.tech AI
Atbilde no AI
Go valodā mehānisms recover kopā ar defer tiek izmantots, lai noķertu un apstrādātu panikas veida kļūdas. Funkcija recover ļauj noķert paniku un novērst programmas negaidītu pārtraukšanu.
Piemērs:
func safeFunction() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Noķerta panika:", r)
}
}()
// Kods, kas var izraisīt paniku
panic("kaut kas nogāja greizi")
}
func main() {
safeFunction()
fmt.Println("Programma turpinās")
}
Šajā piemērā defer atlikt anonīmas funkcijas izpildi, kas izsauc recover. Ja safeFunction gadījumā notiek panika, tā tiks noķerta un apstrādāta, ļaujot programmai turpināt darbu.