在C#中try / catch的真正开销是什么?

所以,我知道try / catch确实增加了一些开销,因此不是一个好的方法来控制流程,但这个开销来自哪里,它是什么实际影响?
我不是一个语言实现的专家(所以把这与一粒盐),但我认为最大的成本之一是解开堆栈和存储它的堆栈跟踪。我怀疑这种情况只发生在异常被抛出(但我不知道),如果是这样,这将是合理的大小隐藏成本每次异常抛出…所以这不是像你只是从一个地方跳在代码到另一个,有很多事情进行。

我不认为这是一个问题,只要你使用异常EXCEPTIONAL行为(所以不是你的典型,预期的路径通过程序)。

http://stackoverflow.com/questions/52312/what-is-the-real-overhead-of-try-catch-in-c

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在C#中try / catch的真正开销是什么?