在Python中,我不时地看到块:
try:
try_this(whatever)
except SomeException as exception:
#Handle exception
else:
return something
try-except-else存在的原因是什么?
我不喜欢这种编程,因为它使用异常来执行流控制。然而,如果它被包含在语言中,一定有一个很好的理由,不是吗?
我的理解是异常不是错误,并且它们应该只在特殊情况下使用(例如,我试图将一个文件写入磁盘,但没有更多的空间,或者我可能没有权限),而不是用于流量控制。
通常我是这样处理异常的:
something = some_default_value
try:
something = try_this(whatever)
except SomeException as exception:
#Handle exception
finally:
return something
或者如果我真的不想在异常发生时返回任何东西,那么:
try:
something = try_this(whatever)
return something
except SomeException as exception:
#Handle exception