Sobes.tech
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, այն կբռնվի և կվերամշակվի, ինչը թույլ կտա ծրագրին շարունակել աշխատել։