美文网首页
Go异常处理

Go异常处理

作者: 一斤蔬菜 | 来源:发表于2018-04-19 18:18 被阅读0次

    想法

    Go的异常处理是比较特别的.有人不喜欢这种走两步就 if err,然而生活就是这样.

    func getOrderNo(detail interface{}) (s string, err error) {
        defer func() {
            if recover() != nil {
                err = errors.New("发生错误")
            }
        }()
        panic(err.Error()) //手动触发ERROR
        return
    }
    
    

    这是我理解的实现方式之一,在错误可能发生之前,定义好如果发生了错误要做什么.
    这样一旦发生错误,唯一会执行的就是defer 后边的 func,recover会捕获发生的错误,手动转化为err对象之后,后续可以作出相应的处理.

    相关文章

      网友评论

          本文标题:Go异常处理

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