İçeriğe geç

Yok Sayılan Hata Dönüşü (ARCH5152)

Anahtar go.logging.ignored-error-return · Önem error · Kategori logging

Go’da hata, döndürülen bir değerdir. Bir error dönüşünü blank identifier’a (_) atamak veya hiç kontrol etmemek, başarısızlıkların sessizce geçmesine yol açar; bu, yutulan bir catch bloğunun dildeki karşılığıdır.

func save(path string, data []byte) {
f, _ := os.Create(path)
f.Write(data)
f.Close()
}
func save(path string, data []byte) error {
f, err := os.Create(path)
if err != nil {
return fmt.Errorf("create %s: %w", path, err)
}
defer f.Close()
if _, err := f.Write(data); err != nil {
return fmt.Errorf("write %s: %w", path, err)
}
return nil
}

Her error dönüşünü kontrol edin ve hatayı sarmalayarak çağırana iletin; _ ile susturmayın.