Swift Programming Language book州:
Swift中的错误处理类似于其他的异常处理 语言,使用
try
,catch
和throw
关键字。不像 许多语言的异常处理 - 包括Objective-C-错误 Swift中的处理不涉及展开调用堆栈,这是一个过程 这可能是计算上昂贵的。就这样,表现throw
陈述的特征与a的特征相当return
声明。
从我读到的关于C ++中的堆栈展开看来,这个过程看起来类似于在同一个调用堆栈中的几个抛出函数之间传播Swift中的错误:堆栈分配的对象被释放,并且调用堆栈是向上遍历直到exception
(在C ++中)或error
(在Swift中)被处理。
那么,这一段具体指的是什么性能差异?