“请求宽恕而不是许可”-技术讲解
编程中“请求宽恕而不是许可”的哲学是指尝试的实践操作并处理任何由此产生的错误,而不是事先显式检查权限。然而,尽管具有 Python 性质,这种方法也有其局限性。
在处理可选对象属性时,如 foo 类的示例,如果某个属性是缺席的。相反,它通常表明存在编程错误。因此,更好的方法是显式地将可选属性初始化为 None,然后使用 if foo.bar is not None 检查它们的存在。
在“请求宽恕而不是许可”的上下文中,避免异常处理的原因在这种情况下,它隐藏了错误的真正原因,这可能是一个编程错误。相反,最好为可选属性显式定义初始值,确保代码的行为清晰且可预测。
总而言之,虽然“请求宽恕而不是许可”在某些情况下可能是合适的,但它并不适用普遍适用。在处理可选对象属性时,显式定义默认值并检查它们是否存在比依赖异常处理来容纳潜在错误更有利。
以上是请求宽恕,而不是许可:这种编程哲学何时真正有益?的详细内容。更多信息请关注PHP中文网其他相关文章!