什么是Swift中的错误处理和C ++中的堆栈展开之间的区别

时间:2018-06-14 04:32:15

标签: c++ swift error-handling exception-handling

Swift Programming Language book州:

  

Swift中的错误处理类似于其他的异常处理   语言,使用trycatchthrow关键字。不像   许多语言的异常处理 - 包括Objective-C-错误   Swift中的处理不涉及展开调用堆栈,这是一个过程   这可能是计算上昂贵的。就这样,表现   throw陈述的特征与a的特征相当   return声明。

从我读到的关于C ++中的堆栈展开看来,这个过程看起来类似于在同一个调用堆栈中的几个抛出函数之间传播Swift中的错误:堆栈分配的对象被释放,并且调用堆栈是向上遍历直到exception(在C ++中)或error(在Swift中)被处理。

那么,这一段具体指的是什么性能差异?

0 个答案:

没有答案