我目前正在构建一个服务器,负责存储和管理数百万条相当复杂和相互关联的数据记录。由于我无法控制的原因,这项工作必须用C++来完成。
我担心错误处理,尤其是指针安全。删除空指针会导致整个服务器崩溃,而在某些语言(也许更合适)中,您将得到一个空指针异常,然后您可以处理该异常。因此,基本上,在处理罕见操作的一些罕见的角落情况时,一个bug可以使整个服务崩溃,而不仅仅是发出一个特定的请求失败。Bug是无法避免的,所以我如何确保在这种环境中的可用性和健壮性?
发布于 2014-10-21 09:14:08
有几个辅助注意事项(Basile得到了重要的东西):
作为参考,我不反对NPEs或提供NPEs的语言。在开发时间比正确性更重要的应用程序中,它们很好地增加了非关键代码的恢复能力,并允许应用程序有一定程度的松散性。
..。在某些语言中--也许更合适--您将得到一个空指针异常,然后您可以处理该异常。
这只是表示您希望编写草率的代码并生存下来。虽然在某些情况下,这是完全合理的,但这种草率的代码同样有可能默默地、成功地产生垃圾输出,就像处理得很好的NPE一样。
https://softwareengineering.stackexchange.com/questions/260512
复制相似问题