Telliot: 用 `errors.Wrap` 和 `errors.Errorf` 替换所有 `fmt.Errorf`

创建于 2020-10-28  ·  15评论  ·  资料来源: tellor-io/telliot

good first issue help wanted medium clean up

所有15条评论

问题状态:1.开放2. 开始 3. 提交 4. 完成


__这个问题现在附有 10.0779 TRB(281.17 美元 @ 27.9 美元/TRB)的资金。__

@themandalore
我有兴趣解决这个问题,请通过 Gitcoin 邀请我

我的工作计划是做出所有改变

@developerfred ,已发送。 在测试整个 gitcoin 方面,您是我们的太空猴子,所以如果您需要任何东西,请告诉我

@themandalore谢谢,完美!

看起来 httpRetriever.go 和 logConfig.go(util 包)中还有一些 fmt.Errorf
@developerfred

@themandalore我会在这里查看,感谢您让我知道。

@themandalore完成。

看起来不错,让我知道有关 gitcoin 的后续步骤

@themandalore您可以将我添加到赏金中,当我尝试表达兴趣时出现错误。 我向团队报告,我正在分析 Gitcoin 代码以了解原因。

我的 gitcoin 用户: @developerfred

@developerfred ,我真的什么也做不了。 我会联系他们,但如果需要一两天以上的时间,请联系我们,我们将关闭它并手动修复它

@themandalore完美,我也在和他们说话。
他们现在会修复它,然后流程就是批准我然后付款。

@themandalore完成了,现在您需要在 Gitcoin 上批准我,以便我提交 PR。

重新开放,因为我有别的想法。
我们需要利用errors.Wraperrors.Wrapf并删除口吃词以改善日志消息。 像 - can't, error, failed这样的词应该被删除,因为它们会在最终的日志消息中重复出现。

以下是一些所需更改的示例:

errors.Errorf("file %s stat error: %v", historyPath, err)
changed to
errors.Wrapf(err,"stats for file: %v", historyPath)
alternative - but I am not a big fan of this one as error prone.
errors.Errors("stats for file: %v, err:%w", historyPath,err)

注意删除错误词 - 我们不需要它,因为这很清楚,最终的打印消息将包含它两次。

使用errors.Wrap允许我们在调用者中进行错误匹配,它通常更结构化:
请参阅: https :

在调用者中,我们可以做一些类似if err == ErrNotFound (按类型匹配错误)的事情,这在不使用 wrap 方法的情况下会更加困难。

errors.Errorf("failed to read psr file @ %s: %v", historyPath, err)
changed to
errors.Wrap(err,"read psr file:%v", historyPath)

请再次注意删除failed这个词是不需要的。 同样在这里我们不使用Wrapf ,而只是Wrap

问题状态:1. 开放 2.开始3. 提交 4. 完成


__工作已经开始__。

这些用户都声称他们可以在 266 年后完成这项工作。
请在下面查看他们的行动计划:

1) developerfred已获准开始工作。

我很想在这个问题上工作,我的工作计划是做所有的替换
2) janus已申请开始工作_(仅限资助者:批准工人|拒绝工人)_。

我以前从事过 Go 项目,而且我也有很好的 linux 技能来查找和匹配单词。 我只需要几个小时就可以完成这项任务。
3) zyfrank已申请开始工作_(仅限资助者:批准工人|拒绝工人)_。

我对go很熟悉,我想接这个任务
4)信仰已申请开始工作_(仅限资助者:批准工人|拒绝工人)_。

我将能够手动或自动替换所有这些。

在 Gitcoin 问题详细信息页面上了解更多

问题状态:1. 开放 2.开始3. 提交 4. 完成


__已提交 10.0779 TRB(283.87 美元 @ 28.16 美元/TRB)的作品__:


此页面是否有帮助?
0 / 5 - 0 等级