1 回答

TA贡献1816条经验 获得超6个赞
AWS SDK for Go 中的错误通常是接口错误awserr.Error(Github 上的代码)。
如果你只想收到消息,你可以这样做:
resp, err := svc.StartTaskExecution(params)
if err != nil {
if awsErr, ok := err.(awserr.Error); ok {
fmt.Println(awsErr.Message())
} else {
fmt.Println(err.Error())
}
}
首先,检查是否确实存在错误:
if err != nil {...}
然后,我们尝试将错误转换为特定的“类型” awserr.Error:
err.(awserr.Error)
cast 的返回值是特定的错误awsErr和一个bool指示 cast 是否有效的值 ( ok)。
awsErr, ok := err.(awserr.Error)
其余代码基本上只是检查,如果ok == true是这种情况,您可以访问错误字段,例如Message:
if awsErr, ok := err.(awserr.Error); ok {
fmt.Println(awsErr.Message())
}
否则,您只需打印标准的 Go 错误消息:
if awsErr, ok := err.(awserr.Error); ok {
...
} else {
fmt.Println(err.Error())
}
- 1 回答
- 0 关注
- 169 浏览
添加回答
举报