İçeriğe geç

Context İptalini Yutma (ARCH5168)

Anahtar go.logging.swallow-context-cancel · Önem warning · Kategori logging

context.Canceled veya context.DeadlineExceeded gibi iptal sinyallerini yutmak, kapatma ve zaman aşımı yayılımını bozar. Bu hatalar çağırana iletilmeli, sıradan bir başarısızlık gibi gizlenmemelidir.

func run(ctx context.Context) error {
if err := work(ctx); err != nil {
if errors.Is(err, context.Canceled) {
return nil // iptal yutuldu
}
return err
}
return nil
}
func run(ctx context.Context) error {
if err := work(ctx); err != nil {
return fmt.Errorf("run: %w", err)
}
return nil
}

İptal hatalarını yutmak yerine çağırana yayarak kapatma akışının çalışmasına izin verin.