Go Wiki: Go2ErrorHandlingFeedback

关于 Go 2 错误处理草案设计的反馈

此页面旨在收集和整理有关 Go 2 错误处理草案设计的反馈和讨论。

请在您的博客、Medium、GitHub Gists、邮件列表、Google Docs 等地方发布您的反馈。然后请在此处链接。

请帮助对底部未分类的提案进行分类。

更新,2019 年 6 月 19 日 – 基于这些反馈,我们发布了 关于 try 内建函数的提案,该提案在 #32437 上产生了大量反馈(此处为串联视图)。

我们已禁用该议题的评论,直到 7 月 1 日,以便大家有时间在自己的代码中进行试验。我们非常希望看到关于在您自己的代码中使用通用 try 方法的经验报告,包括使用 tryhard 进行的试用转换。谢谢!

关于 “try 提案” 的经验

添加到此列表

  • 模板:您的姓名,“标题”,YYYY 年 MM 月

要求

关于新错误处理方法要求的讨论。

支持

这包括支持现有的 handler 链/堆叠,无任何改动。

示例代码

已更改代码以使用现有提案。

反对

不带反提案的批评

重复的主题

在以下建议中反复出现的概念。

  • 通过赋值调用 handler,例如 v, ? := f()
    参考:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14

  • 按名称调用多个 handler 中的一个,例如 v := check f() ? name
    参考:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17

温和的修订

移除 handler 链

反提案

使用普通函数的错误处理

带标签的错误 handler

内联

使用 defer

try/catch/finally 语法

其他可能性

未分类

请帮助对剩余的提案进行分类。

添加您的反馈

请将所有条目格式化如下。

  • 您的姓名,“标题”,月 年

为了更容易查看新的反馈,请将您的新提案添加到其所在部分的顶部。


此内容是 Go Wiki 的一部分。