他们告诉我们不要使用异常来控制程序流程,因为抛出异常会很慢。我从未听说过为什么抛出异常会很慢的解释。
所以问题是:
抛出异常的机制是什么?哪些特定操作可能会影响性能?
编辑:
一些澄清:我想知道操作系统需要处理抛出异常的额外工作。是否存在用户和内核模式之间的切换,这些切换很耗费资源?或者构建异常对象很昂贵?或者在程序流程切换方面我漏了什么?我的问题与编程语言无关(我希望如此,但请指出我错误)。然而,如果你需要一些锚点,那么我最感兴趣的是与这个主题相关的.NET内部。
编辑2:
我对异常的性能没有任何问题。我只是想了解这种机制的内部原理。
编辑3:
让我的问题更加清晰。
所以问题是:
抛出异常的机制是什么?哪些特定操作可能会影响性能?
编辑:
一些澄清:我想知道操作系统需要处理抛出异常的额外工作。是否存在用户和内核模式之间的切换,这些切换很耗费资源?或者构建异常对象很昂贵?或者在程序流程切换方面我漏了什么?我的问题与编程语言无关(我希望如此,但请指出我错误)。然而,如果你需要一些锚点,那么我最感兴趣的是与这个主题相关的.NET内部。
编辑2:
我对异常的性能没有任何问题。我只是想了解这种机制的内部原理。
编辑3:
让我的问题更加清晰。