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.
Hatalı
Bölüm başlığı “Hatalı”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}Düzeltme
Bölüm başlığı “Düzeltme”Her error dönüşünü kontrol edin ve hatayı sarmalayarak çağırana iletin; _ ile susturmayın.