美文网首页
GO语言学习---chapter13

GO语言学习---chapter13

作者: N_O_W | 来源:发表于2018-07-02 21:07 被阅读0次

    第13章   错误处理及检测    20180629

    go认为java和.net的try  catch finally 那一套太损耗性能,所以函数返回时一般含有错误参数

    error 是一个预定义的接口,只需要实现Error()函数即可

    type  error interface {

        Error() string 

    }

    引用errors包,新增一个error只需要errors.New(error_string)

    可以自定义error类型以获取必要的信息

    可以用switch语句对错误类型进行判断,以做出正确的决定

    switch err := err.(type) {

    case ErrorType1:

                process1()

    case ErrorType2:

                process2()

    default:

                blablabla()

    }

    if e, ok := err.(*os.PathError) ; ok {

                process()

    }

    使用fmt构造错误对象

    使用fmt.Errorf() 方法

    if  f < 0 {

            return 0 , fmt.Errorf("math : square root of negative number %g",f) 

    }

    panic 的使用

    panic用于比较严重的错误,在错误不可修复的情况产生一个runtime.error来阻止程序的继续执行

    go  panicking : 如果panic发生在嵌套的函数调用过程中,它会立即停止当前函数的执行,所有的defer函数将保证执行完毕,程序的控制前递交给函数的调用方

    Recover

    相关文章

      网友评论

          本文标题:GO语言学习---chapter13

          本文链接:https://www.haomeiwen.com/subject/hoboyftx.html