Sobes.tech
Junior — Middle

Go dilində hansı növ istisnalar və ya səhvlər idarə oluna bilər?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində ənənəvi istisna sistemi yoxdur, bəzi digər dillərdə olduğu kimi. Əvəzinə, səhvlər error tipi ilə geri qaytarılan dəyərlər vasitəsilə idarə olunur.

Go-da səhvlərin idarə olunmasının əsas üsulları:

  • Funksiyadan səhv geri qaytarmaq: funksiya dəyər və səhv geri qaytarır, onları yoxlamaq lazımdır.
  • Panik (panic) və bərpa (recover): kritik səhvləri idarə etmək üçün istifadə olunur, adətən proqramın dayanmasına səbəb olurlar, lakin tutulabilir.

Səhvlərin idarə olunması nümunəsi:

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("Faylı oxuyarkən xəta:", err)
        return
    }
    fmt.Println(string(data))
}

Beləliklə, Go-da funksiyalardan geri qaytarılan səhvlər idarə olunur, ənənəvi mənada istisnalar deyil.