首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在"except“块中执行操作是一种好的编码实践吗?

在"except“块中执行操作是一种好的编码实践吗?
EN

Stack Overflow用户
提问于 2019-03-25 02:31:00
回答 1查看 54关注 0票数 0

如果"try“块中的代码失败,这是一种Pythonic式的方法来纠正"except”块中的错误吗?

我遇到过这两种代码片段:

代码语言:javascript
复制
import os
import random

workdir = str(random.randint(10**11, 10**12-1))
try:
    os.mkdir(workdir)
except FileExistsError:
    workdir = str(random.randint(10**11, 10**12-1))
    os.mkdir(workdir)
print('Created directory ' + workdir)
os.chdir(workdir)
print('Changed to directory ' + os.getcwd())
代码语言:javascript
复制
import os
import random

workdir = str(random.randint(10**11, 10**12-1))
try:
    os.mkdir(workdir)
    print("Directory " , workdir ,  " created") 
except FileExistsError:
    print("Directory " , workdir,  " already exists")

一个比另一个更受欢迎吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-25 02:48:20

使用异常实际上是一种pythonic式的方式,有一种叫做EAFP的原则,它代表“请求宽恕比请求许可更容易”。你可以阅读更多关于它的here

第二个代码片段看起来比第一个更好,因为仍然有机会生成相同的数字。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55327108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档