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 的一部分。