akr*_*amo 3 python error-handling exception
例如,如果我试图打开一个文件,我不能简单地检查是否os.path.exists(myfile)而不是使用try/except.我认为我不应该依赖的os.path.exists(myfile)原因是,文件可能无法打开的原因可能有很多.
这是为什么
try/except应该使用错误处理使用的逻辑?是否有关于何时在Python中使用异常的一般准则.
比赛条件.
在检查文件是否存在与执行操作之间的时间内,该文件可能已被删除,编辑,重命名等...
最重要的是,异常将为您提供操作系统错误代码,使您可以获得操作失败的更多相关原因.
最后,它被认为是Pythonic要求宽恕,而不是要求许可.
通常,当您处理超出您可以影响的参数范围的事情时,您会使用 try/ except 。
在脚本中,您可以检查变量的类型、列表的长度等,并且您可以确定结果是足够的,因为您是唯一处理这些对象的人。然而,一旦您处理文件系统中的文件或连接到远程主机等,您就无法再影响或检查所有参数,也无法确保检查结果保持有效。
如你所说,
有太多因素可能会出错,无法单独检查它们,而且,如果这样做,它们可能仍然会发生变化,直到您实际执行命令为止。
通过 try/error,您通常可以捕获每个异常并单独处理最重要的错误。即使测试一开始成功但在开始运行命令后失败,也要确保错误得到处理。