為什么 Go 語言的 Error Handling 被某些人認為是一個敗筆?
作者: 發(fā)布日期:2025-06-23 21:30:12
因為go的錯誤處理怎么看都毫無意義 從類型論角度來說 一個result和err的tuple是個product type,但兩個只有可能有一個是合理的 對于這種情況如果要用類型來模擬錯誤的話最合理的是像rust這樣定義一個 sum type,這樣安全的很多 從軟件工程角度 一般代碼可以在頂層套一層捕獲 碰到一個error直接拋出被接住中斷procedure 而且多層嵌套也有traceback stack清晰標出調(diào)用關(guān)系 但go這種防御式編程直接把error當一個變量了 所以你學(xué)要手…。









