《Golang学习笔记》error最佳实践
什么时候使用panic,什么时候使用error?
- 启动时,强依赖的服务有异常时
panic退出 - 启动时,配置有明显不符合预期时
panic退出 - 其余时候都不应该使用
panic,而需要使用error - 其次可以使用例如
Gin框架中的默认recovery中间件预防panic退出 - 在程序运行中应避免使用野生
goroutine- 避免请求大导致大量
goroutine创建 - 异步任务应该由
worker的形式进行创建goroutine,并使用recovery进行异常捕获避免导致主进程退出func Go(f func()){ go func(){ defer func(){ if err := recover(); err != nil { log.Printf("panic: %+v", err) } }() f() }() }
- 避免请求大导致大量
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: