package main
import (
"fmt"
"math"
)
//对应错误类型输出
type ErrNegativeSqrt float64
//定义错误类型输出
func (e ErrNegativeSqrt) Error() string {
return fmt.Sprintf("cannot Sqrt negative number:%f", float64(e))
}
//计算平方根的方法
func Sqrt(f float64) (float64, error) {
if f > 0 {
return math.Sqrt(f), nil
}
return 0, ErrNegativeSqrt(f)
}
func main() {
g, h := Sqrt(2)
if h != nil {
fmt.Println(h)
} else {
fmt.Println(g)
}
g, h = Sqrt(-2)
if h != nil {
fmt.Println(h)
} else {
fmt.Println(g)
}
}
Go语言错误处理
最新推荐文章于 2023-03-31 14:08:01 发布