在try语句中的else从句......有什么用处呢?

32 浏览
0 Comments

在try语句中的else从句......有什么用处呢?

这个问题已经有答案了

可能是重复问题:

Python try-else

我来自Java背景,我还不太理解else子句的作用。

根据文档

它对于必须

在try子句不引发异常时执行的代码很有用。

但是,为什么不把代码放在try块之后呢?看来我在这里忽略了一些重要的东西...

admin 更改状态以发布 2023年5月20日
0
0 Comments

考虑一下

try:
    a = 1/0
except ZeroDivisionError:
    print "Division by zero not allowed."
else:
    print "In this universe, division by zero is allowed."

如果把第二个print语句放在try/except/else块的外面,会发生什么?

0
0 Comments

else子句之所以有用,是因为你可以知道在try子句中的代码执行成功。例如:

for arg in sys.argv[1:]:
    try:
        f = open(arg, 'r')
    except IOError:
        print 'cannot open', arg
    else:
        print arg, 'has', len(f.readlines()), 'lines'
        f.close()

你可以安全地在f上执行操作,因为你知道它的赋值成功了。如果代码只是在try ... except之后,你可能没有一个f

0