许多现代语言提供了丰富的异常处理功能,但是Apple的Swift编程语言没有提供异常处理机制。
像我一样,我陷入了异常,无法理解这意味着什么。Swift有断言,当然还有返回值。但是我很难想象我基于异常的思维方式如何映射到一个没有例外的世界(就此而言,为什么这样的世界是可取的)。有像Swift这样的语言我无法做的事情我可以做例外吗?通过丢掉异常我能获得一些收益吗?
例如,我如何最好地表达这样的话
try:
operation_that_can_throw_ioerror()
except IOError:
handle_the_exception_somehow()
else:
# we don't want to catch the IOError if it's raised
another_operation_that_can_throw_ioerror()
finally:
something_we_always_need_to_do()
缺少异常处理的语言(例如,Swift)?
panic
不完全相同的内容,则可能需要将Go添加到列表中。除了那里所说的,例外只是一种复杂的(但舒适的)执行a的方法GOTO
,尽管出于明显的原因没有人这么称呼它。