美文网首页
优雅的处理错误

优雅的处理错误

作者: funcx | 来源:发表于2021-06-10 09:21 被阅读0次
    package main
    
    import (
        "errors"
        "fmt"
    )
    
    func main() {
        var i = 0
        _ = FnPipe(func() error {
            i++
            return nil
        }, func() error {
            i *= 2
            return nil
        }, FnWithErr(func() {
            fmt.Println(i)
        }), func() error {
            return errors.New("test error")
        }, FnWithErr(func() {
            fmt.Println("end")
        }))
    }
    
    func FnWithErr(f func()) func() error {
        return func() error {
            f()
            return nil
        }
    }
    
    func FnPipe(f ...func() error) error {
        for i := range f {
            if err := f[i](); err != nil {
                return err
            }
        }
        return nil
    }
    

    相关文章

      网友评论

          本文标题:优雅的处理错误

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