7-3错误与处理

package main

import (
    "errors"
    "fmt"
    "math"
)

func GetToyBallvolume2  (redius  float64)(volume float64,err error)  {

    if redius<0 {

        //redius 为负数,直接返回恐慌
        panic("半径不可以为负数")
    }

    //给小球半径路径设定取值范围,[5,50],不在此范围则返回错误

    if redius < 5 || redius > 50 {
        err = errors.New("取值范围需要在[5,50]")
        return

    }

    return (4/3.0*math.Pi*math.Pow(redius,3)),nil
}

func main() {
    volume, err := GetToyBallvolume2(4)
    if err != nil{
        fmt.Println("获取体积失败,err=",err)
        return
    }
    fmt.Println("小球的体积是:",volume)
}

 

posted @ 2019-07-30 11:00  pad+  阅读(109)  评论(0编辑  收藏  举报