try/except块的return语句应该放在哪里?

2024-04-26 22:18:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下列试块。由于except块有它自己的return语句,因此在这种情况下,如果try块成功,我有3种可能的方法放置return语句。是否有一个公约或最佳做法?你知道吗

版本1:

try:
    self.validate()
    self.perform_creation()

except UserException as e:
    show_error(e.message)
    return super().render(request)

return redirect(self.next)  # Return here

版本2:

try:
    self.validate()
    self.perform_creation()
    return redirect(self.next)  # Return here

except UserException as e:
    show_error(e.message)
    return super().render(request)

版本3:

try:
    self.validate()
    self.perform_creation()

except UserException as e:
    show_error(e.message)
    return super().render(request)

else:
    return redirect(self.next)  # Return here

Tags: self版本messagereturnasshowerrorrender