İçeriğe geç

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.

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
}

Dize ile panic atmak yerine tipli bir error değeri döndürün.