栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python try-else

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python try-else

else
如果执行没有超出
try-
如果没有异常,则执行块中的语句。老实说,我从来没有发现需要。

但是,“ 处理异常”指出:

使用

else
子句比向
try
子句添加其他代码更好,因为它避免了意外捕获
try ... except
语句保护的代码未引发的异常。

所以,如果你有一个方法可以,例如,抛出

IOError
了,你想抓住它会引发异常,但有你想,如果第一个操作成功做其它的事情,你不要想抓住从一个
IOError
该操作,你可能会这样写:

try:    operation_that_can_throw_ioerror()except IOError:    handle_the_exception_somehow()else:    # we don't want to catch the IOError if it's raised    another_operation_that_can_throw_ioerror()finally:    something_we_always_need_to_do()

如果仅放在

another_operation_that_can_throw_ioerror()
之后
operation_that_can_throw_ioerror,except
则将捕获第二个调用的错误。而且,如果将其放在整个代码try块之后,它将始终运行,直到
finally
。将
else
让你确保

  1. 只有在没有例外的情况下,第二个操作才会运行
  2. 它在代码finally块之前运行,并且
  3. IOError它筹集到的任何钱都没有被抓住


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420227.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号