Sobes.tech
Junior — Middle

Go tilida qanday turdagi istisnolar yoki xatolarni boshqarish mumkin?

sobes.tech AI

AIdan javob

Go tilida an'anaviy xatoliklar tizimi mavjud emas, ba'zi boshqa tillardagi kabi. O'rniga, xatoliklar error turidagi qaytariladigan qiymatlar yordamida boshqariladi.

Go'da xatoliklarni boshqarishning asosiy usullari:

  • Funktsiyadan xatolikni qaytarish: funktsiya qiymat va xatolikni qaytaradi, ularni tekshirish kerak.
  • Panik (panic) va tiklash (recover): odatda dastur to'xtashiga olib keladigan kritik xatoliklarni boshqarish uchun ishlatiladi, lekin ular ushlanishi mumkin.

Xatoliklarni boshqarish misoli:

func readFile(filename string) ([]byte, error) {
    data, err := os.ReadFile(filename)
    if err != nil {
        return nil, err
    }
    return data, nil
}

func main() {
    data, err := readFile("file.txt")
    if err != nil {
        fmt.Println("Faylni o'qishda xato:", err)
        return
    }
    fmt.Println(string(data))
}

Shu tarzda, Go'da funktsiyalardan qaytarilgan xatoliklar boshqariladi, an'anaviy ma'noda xatoliklar emas.