【发布时间】:2017-09-22 04:18:57
【问题描述】:
例如,我将一个 Go 标准库函数用作:
func Dial(network, address string) (*Client, error)
这个函数可能会返回错误,我只关心报告“连接丢失”或“连接被拒绝”的错误,然后编写一些代码来修复这些错误。
好像是:
client, err := rpc.Dial("tcp", ":1234")
if err == KindOf(ConnectionRefused) {
// do something
}
此外,如何获取特定标准库函数可能返回的所有错误?
【问题讨论】:
-
没有直接/准确的答案,部分归咎于
net包作者。相关/有用的问题(关于错误处理):Specifically check for timeout error;和Does go have standard Err variables?;和Go. Best practice to handle error from multiple abstract level。
标签: go error-handling