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
}
优雅的处理错误
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- title: "【Rust错误处理】使用thiserror+anyhow来优雅便捷地处理错误"date: 2020...
- - 后端早读课翻译计划 第二篇 - 欢迎关注微信公众号: 后端早读课 本文提供了一个优雅的处理 Golang 中错...
- 代码写多了就想优化,这是一个天然的过程。近期在代码优化方面积累了一些心得,会慢慢整理出来。 本文主要适用于想要缩减...
- 注:正文中的引用是直接引用作者的话,两条横线中间的段落的是我自己的观点,其他大约都可以算是笔记了。 错误处理是十分...