我有下列试块。由于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
您应该将不应该引发异常的语句放在de try/catch块之外。所以在您的情况下,版本2是最好的解决方案。你知道吗
相关问题 更多 >
编程相关推荐