请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

7-3中对ListenAndServe返回值是否为nil的判断

文档上说 ListenAndServe always returns a non-nil error

请问老师有什么特殊考虑吗?

一般在写server的时候,这句需要判断吗?

一般对这种文档上说返回non-nil error的,需要判断吗?

谢谢~

正在回答

1回答

如果正常的话,这行代码不会return,而是起一个server,然后在那里不断地等连接来服务客户。所以任何return的情况都是有错,才有了文档里说的always returns a non-nil error。

这句还是要判断的,因为起server会出错。最常见的就是端口已经被占的情况,需要打出来给用户看。

文档里说log.Fatal(http.ListenAndServe(...)),作用是打出来并强制退出,那样写的话会比panic少写点代码,并且不会给人机会recover,更加暴力。两种处理方法都可以。

这种永远return non-nil error应该不是一般的情况。见到的话还是遵循这个函数的设计文档来处理。

1 回复 有任何疑惑可以回复我~
  • 提问者 西伯利亚鼯鼠 #1
    幸好问了一下,原来我完全理解错了。非常感谢老师!
    回复 有任何疑惑可以回复我~ 2018-02-06 12:04:04
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信