我正在Go中制作一个json取消编组错误处理函数:
import "github.com/pkg/errors"
func parseJSONError(err error) {
var uterr json.UnmarshalTypeError
if errors.As(err, &uterr) {
//...
return
}
var serr json.SyntaxError
if errors.As(err, &serr) {
//...
return
}
}
但是有一种恐慌: 。errors.As()panic: errors: *target must be interface or implement error
我们可以从 github.com/pkg/errors 文档中学到什么是目标:
func As(err error, target interface{}) bool
问题在于两者都实际实现了接口。我们可以从编码/ json文档中学习它。所以我不知道我做错了什么。即使明确地铸造和到并不能挽救这种情况。json.UnmarshalTypeErrorjson.SyntaxErrorerroruterrserrinterface{}
死机发生在两个包和标准包中。github.com/pkg/errorserrors
墨色风雨
相关分类