7-3中对ListenAndServe返回值是否为nil的判断
来源:8-3 服务器统一出错处理

西伯利亚鼯鼠
2018-02-06
文档上说 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应该不是一般的情况。见到的话还是遵循这个函数的设计文档来处理。
112018-02-06
相似问题