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 關注
- 164 瀏覽
添加回答
舉報