Junior — Middle
Ինչ մեթոդներով կարելի է բռնել և մշակել panic տեսակի սխալը ծրագրում?
sobes.tech AI
Պատասխան AI-ից
Go լեզվում, panic տեսակի սխալները բռնելու և կառավարելու համար օգտագործվում է recover մեխանիզմը defer-ի հետ միասին: recover ֆունկցիան թույլ է տալիս բռնել panic-ը և կանխել ծրագրի անակնկալ փակումը:
Օրինակ՝
func safeFunction() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Ամփոփված panic:", r)
}
}()
// Կոդ, որը կարող է առաջացնել panic
panic("ինչ-որ բան սխալ է գնացել")
}
func main() {
safeFunction()
fmt.Println("Ծրագիրը շարունակվում է")
}
Այս օրինակով, defer հետաձգում է անանուն ֆունկցիայի կատարմանը, որը կանչում է recover-ը: Եթե safeFunction-ում տեղի ունենա panic, այն կբռնվի և կվերամշակվի, ինչը թույլ կտա ծրագրին շարունակել աշխատել։