繁体   English   中英

我应该何时在Python中使用Try-Except语句?

[英]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。

在您的脚本中,您可以检查类型的变量,长度列表等,并且您可以确保结果足够,因为您是唯一处理这些对象的人。 但是,当您处理文件系统中的文件或连接到远程主机等时,您既不能再影响或检查所有参数,也不能确保检查结果保持有效。

如你所说,

  • 该文件可能存在但您没有访问权限
  • 您可以ping一个主机地址,但连接被拒绝

有太多因素可能会出错,无法单独检查它们,如果这样做,它们可能仍会改变,直到您实际执行命令为止。

使用try / error,您通常可以捕获每个异常并单独处理最重要的错误。 即使测试最初成功但在开始运行命令后失败,也要确保处理错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM