标签: networking go error-handling
在Go中,对net.Listener类型的Accept方法的调用会返回错误。但是,有没有办法区分瞬态错误(即,此连接未能设置)与永久错误(即,监听器已死,例如强制删除的Unix域套接字文件)?如果我无法区分,我冒着无限循环的风险并尽可能快地吐出错误,因为每次Accept调用都会立即返回错误。
net.Listener
Accept
答案 0 :(得分:2)
想出来。 net包返回的错误可能属于net.Error类型,该类型定义了Temporary() bool方法,该方法报告错误是否是临时的。
net
net.Error
Temporary() bool