Ree*_*sey 11
除非抛出异常,否则.NET异常的开销成本非常低.使用try/catch块对性能影响非常小.我发现几乎没有任何影响,即使在非常快速,紧密的循环中,也有异常处理.
但是,当它们被抛出时,.NET中的异常非常昂贵.如果抛出它们,它们往往会对性能产生很大的影响.这是由于在创建异常时收集的完整堆栈信息等.
这与其他语言相反,例如python,其中异常处理的成本较高,但抛出实际上是相当高效的.
但是,如果您担心,我建议您描述您的日常工作,并自行测试.经过相当多的性能分析后,这是我的经验.在您自己的代码库中没有替代测量.