在Python中,如果try语句成功则运行代码

49 投票
3 回答
48426 浏览
提问于 2025-04-15 22:29

我在想,在Python中有没有简单的方法可以在try语句成功执行后运行一些代码,而这些代码又不在try语句里面。是不是else或者finally命令可以做到这一点呢?我看不太懂它们的说明文档。虽然我知道可以用这样的代码:

successful = False
try:
    #code that might fail
    successful = True
except:
    #error handling if code failed
if successful:
    #code to run if try was successful that isn't part of try

但我在想有没有更简洁的方法。

3 个回答

-6

你的try块里应该放你想要执行的代码,而except块则是用来处理程序出错的地方。我需要更了解你的对象,才能给出更好的建议。

在面向对象编程中,你要遵循“告诉,而不是询问”的原则,所以把所有应该在try块中执行的逻辑放在里面,然后把错误处理放在except块中。

24

你在找 else 这个关键词:

try:
    #code that might fail
except SomeException:
    #error handling if code failed
else:
    # do this if no exception occured
81

你想要的是 else

for i in [0, 1]:
    try:
        print '10 / %i: ' % i, 10 / i
    except:
        print 'Uh-Oh'
    else:
        print 'Yay!'

撰写回答