python - python中令人毛骨悚然的设计

标签 python

谁能帮我处理下面的代码:

try:
    #do some things
    myClass.close()
except Exception, error:
    myClass.close()
    raise error

如你所见,我不能在这里使用finally,因为那样的话我将不知道是否真的发生了错误,我需要引发这个错误(raise error)

我的问题是如何避免使用这两次 myClass.close()? 在此先感谢您的帮助

最佳答案

这等同于您的代码:

try:
    #do some things
finally:
    myClass.close()

首先它调用 myClass.close(),如果出现错误,它会再次引发。

你也可以用它来处理特定的异常:

try:
    #do some things
except Exception, error:
    raise # re-raise the original exception
finally:
    myClass.close()

关于python - python中令人毛骨悚然的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7379596/

相关文章:

python - 拟合多峰分布

python - 检查是否在多个脚本中设置了变量

python - numpy polyfit 产生无意义的结果

python - 简单的 Web 服务器套接字程序无法正常工作?

python - Exchangelib OAUTH 身份验证 NonExistentMailbox 错误

python - 检测 osx 何时 sleep /从 sleep 中恢复

python - 无法在 Python 中使用 Selenium webdriver 登录 Quora

python - 如何使用类外的函数进行循环

javascript - 在 Django 模板过滤器中使用 jquery 中的变量

python - 如何在python中自动更改包含日期的文件名