Junior — Middle
Go dilinde istisnaların (Exception) ne olduğunu biliyor musunuz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde geleneksel istisnalar (Exception) yoktur, Java veya Python gibi. Bunun yerine, Go hata yönetimi için dönüş değerleri kullanır: fonksiyon bir hata değeri (error) döner ve bu kontrol edilmelidir.
Ancak, Go'da panik (panic) ve kurtarma (recover) mekanizması vardır, bu da istisnalara benzer olarak düşünülebilir, ancak bu mekanizma kritik hatalar içindir ve normal hata işleme için kullanılmamalıdır.
Go'da hata işleme örneği:
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("sıfıra bölme")
}
return a / b, nil
}
sonuç, err := divide(10, 0)
if err != nil {
fmt.Println("Hata:", err)
} else {
fmt.Println("Sonuç:", sonuç)
}
Panik/recover kullanımı:
func mayPanic() {
panic("bir şeyler ters gitti")
}
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Panik sonrası kurtarıldı:", r)
}
}()
mayPanic()
fmt.Println("Bu kod çalışmaz")
}