为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过结构字段名称获取 Gmail API 错误代码?

如何通过结构字段名称获取 Gmail API 错误代码?

Go
偶然的你 2023-05-15 14:42:21
根据Examiner ,Gmail API 错误响应结构包括一个代码字段_, err := gmailService.Users.Messages.Send("me", &gMsg).Do()t := reflect.TypeOf(err)examiner(t,0)回复Type is  and kind is ptr Contained type: Type is Error and kind is struct     Field 1 name is Code type is int and kind is int...我可以使用字段索引成功获取错误代码,但这更晦涩(因此更难维护)并且感觉更脆弱:errReflectElem := reflect.ValueOf(err).Elem() fmt.Printf("err.Code %v\n",errReflectElem.Field(0).Interface())看来我也应该能够根据这个示例得到如下错误代码:fmt.Println("Code: %v",err.Code)但是,这会产生构建错误:err.Code undefined (type error has no field or method Code)我错过了什么?
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

根据文档,它返回一个*googleapi.Error. 只需声明此类型,您就可以完全访问它包含的所有内容。这是接口的强大功能和通过导出类型进行正确错误处理的主要示例。如果导出此类错误类型,则无需反射即可访问它。


if gapiErr, ok := err.(*googleapi.Error); ok {

    // use gapiErr.WhateverField

}


查看完整回答
反对 回复 2023-05-15
  • 1 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信