go 没有类似php的try catch 如果项目大了 有些地方漏了if err的判断 能通过什么知道哪里出错了?太坑了吗 try catch 这种捕获异常都没。比如有些请求第三方接口的 超时了没判断到 这种错误哪里能看
搜索
go 没有类似php的try catch 如果项目大了 有些地方漏了if err的判断 能通过什么知道哪里出错了?太坑了吗 try catch 这种捕获异常都没。比如有些请求第三方接口的 超时了没判断到 这种错误哪里能看
搜索
安装和使用:
# 安装
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
# 运行
golangci-lint run
# 只检查错误处理
golangci-lint run --enable errcheck
配置文件 .golangci.yml
:
linters:
enable:
- errcheck # 检查未处理的错误
- govet # Go官方检查器
- ineffassign # 检查无效赋值
- misspell # 检查拼写错误
- gosec # 安全检查
linters-settings:
errcheck:
check-type-assertions: true
check-blank: true
对于生产环境错误追踪:
import "github.com/getsentry/sentry-go"
func init() {
sentry.Init(sentry.ClientOptions{
Dsn: "your-dsn-here",
})
}
func main() {
defer sentry.Flush(2 * time.Second)
// 你的代码
}
2 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读
2 回答772 阅读
3 回答542 阅读
943 阅读
1 回答722 阅读
1 统一错误处理中间件, 在 Web 框架(Gin/Echo)中定义全局错误处理:
2 自定义错误类型,通过 errors.New() 或 fmt.Errorf 封装上下文:
3 错误断言处理,针对特定错误类型处理: