Sobes.tech
Junior — Middle

Go dilinde hangi tür istisnalar veya hatalar işlenebilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde geleneksel bir istisna sistemi yoktur, bazı diğer dillerde olduğu gibi. Bunun yerine, hatalar error tipi dönen değerler kullanılarak işlenir.

Go'da hata işleme yöntemleri:

  • Bir fonksiyondan hata döndürmek: fonksiyon, bir değer ve bir hata döner, bunların kontrol edilmesi gerekir.
  • Panik (panic) ve kurtarma (recover): kritik hataları işlemek için kullanılırlar, genellikle programın durmasına neden olurlar, ancak yakalanabilirler.

Hata işleme örneği:

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("Dosya okunurken hata:", err)
        return
    }
    fmt.Println(string(data))
}

Bu şekilde, Go'da fonksiyonlar tarafından döndürülen hatalar işlenir, geleneksel anlamda istisnalar değil.