[英]When Should I Use a Try-Except statement in Python?
例如,如果我试图打开一个文件,我不能简单地检查是否os.path.exists(myfile)
而不是使用try/except
。 我认为为什么我不应该依赖os.path.exists(myfile)
的答案是,可能还有许多其他原因导致文件无法打开。
这是使用
try/except
进行错误处理的原因吗?是否有关于何时在Python中使用异常的一般准则。
比赛条件。
在检查文件是否存在与执行操作之间的时间内,该文件可能已被删除,编辑,重命名等...
最重要的是,异常将为您提供操作系统错误代码,使您可以获得操作失败的更多相关原因。
最后,它被认为是Pythonic要求宽恕,而不是要求许可。
通常,当您处理可以影响的参数之外的事物时,请使用try / except。
在您的脚本中,您可以检查类型的变量,长度列表等,并且您可以确保结果足够,因为您是唯一处理这些对象的人。 但是,当您处理文件系统中的文件或连接到远程主机等时,您既不能再影响或检查所有参数,也不能确保检查结果保持有效。
如你所说,
有太多因素可能会出错,无法单独检查它们,如果这样做,它们可能仍会改变,直到您实际执行命令为止。
使用try / error,您通常可以捕获每个异常并单独处理最重要的错误。 即使测试最初成功但在开始运行命令后失败,也要确保处理错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.