根据关于异常的成语和反成语的Python文档:"你应该尝试尽可能少地使用代码中的子句 - 你使用的那些通常是在应该总是成功的调用中,或者在主要功能中抓住所有." 分段考虑这句话......
"你应该尝试尽可能少地使用代码中的除了子句"
对于像我这样的新手来说有点令人困惑,我认为在Python中使用EAFP样式 - 很多try和except语句是很好的做法.或者我错过了这一点?
"你使用的那些通常是在应该总是成功的电话里面"
我不明白这里的意思.
"或者是主要功能的全能."
因此,任何抛出异常的代码都是好的风格,只是简单地将它传递给调用堆栈,直到它达到你真正通用的异常处理的顶层为止?
关于第一点,使用异常的全部意义在于您不必将每一行都包装在一行中!例如,在 C 中,错误通常由函数调用的返回值确定。因此,如果您想捕获所有错误,则必须在每次调用后检查这些错误。使用Python,您可以将一个(可能很大)语句块组合在一个try/ except 块中,并且只处理所有错误一次。
第二点是(如果可能的话)您希望在接近故障发生点的位置解决故障。例如,您正在从网络读取数据并获得零字节。在这种情况下,等待并重试通常是完全可以的。
最后一点是,有时错误太大,无法在低级别处理。例如,如果您尝试打开一个不存在的文件,它将失败。并且您的程序无法对文件的内容执行任何操作。最好在程序的顶层处理这个问题,并要求用户提供另一个文件名,或者退出程序。
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |