Dize ile Panic (ARCH5167)
Anahtar go.logging.panic-with-string · Önem info · Kategori logging
Ham bir dize ile panic atmak, çağıranı hata türünü ayırt edemeyen geniş bir kurtarmaya zorlar. Hatalar tipli error değerleri olarak döndürülmeli ve çağıran errors.Is/errors.As ile inceleyebilmelidir.
Hatalı
Bölüm başlığı “Hatalı”func divide(a, b int) int { if b == 0 { panic("division by zero") } return a / b}var ErrDivideByZero = errors.New("divide by zero")
func divide(a, b int) (int, error) { if b == 0 { return 0, ErrDivideByZero } return a / b, nil}Düzeltme
Bölüm başlığı “Düzeltme”Dize ile panic atmak yerine tipli bir error değeri döndürün.