请注意,我如何添加可err
通过Error()
方法访问的字段,徒劳地尝试减少 if 错误。
上面的代码更简单,但是 ReadRLP() 函数与仅返回错误没有什么不同。有什么模式可以帮助解决这个问题吗?
type namePreclaimRLP struct {
ObjectTag uint
RlpMessageVersion uint
AccountID []uint8
AccountNonce uint64
CommitmentID []uint8
Fee big.Int
TTL uint64
err error
}
func (n *namePreclaimRLP) ReadRLP(s *rlp.Stream) (aID, cID string) {
blob, err := s.Raw()
if err != nil {
n.err = err
}
err = rlp.DecodeBytes(blob, n)
if err != nil {
n.err = err
}
_, aID, err = readIDTag(n.AccountID)
if err != nil {
n.err = err
}
_, cID, err = readIDTag(n.CommitmentID)
if err != nil {
n.err = err
}
return aID, cID
}
func (n *namePreclaimRLP) Error() (err error) {
return n.err
}
皈依舞
冉冉说
相关分类