异常是否会影响应用程序的性能

本文关键字:性能 应用程序 影响 是否 异常 | 更新日期: 2023-09-27 18:37:12

我有一个C#应用程序。我不断收到空引用异常。.我设法捕获此异常并记录它。但我怀疑此异常是否会影响我的应用程序的性能。请注意,我并不是要避免异常,而是需要知道如果连续触发此异常会影响我的应用程序的性能。

异常是否会影响应用程序的性能

如果你得到一个NullReferenceException,你应该修复它而不是抓住它。只有当它以您无法修复的方式出现在代码中时(例如,损坏的第三方库),您才应该捕获它。NullReferenceException总是指示某处的编程错误。

至于性能 - 这取决于你所说的"持续"是什么意思。如果异常在没有任何真正错误的情况下被抛出,它们可能会非常昂贵 - 如果使用得当,它们很好。例如,您每秒看到多少?请注意,在调试器中运行时,异常通常比未附加调试器时要昂贵得多。

与以往一样,当您担心性能时,您应该测试性能,以便您可以使用硬数据做出决策。

这取决于处理异常的位置以及它们发生的频率。CodeProject 上有一篇关于异常和性能的好文章,我建议你阅读它。

是的,它影响它取决于它的频率。

欲了解更多信息,请参阅链接,它也可以帮助您链接

异常旨在将

性能降低到最小,当它们未被抛出时:添加 try/catch 块对应用程序性能的影响应该非常有限。因此,我会重新命令根据需要添加尽可能多的 try/catch 块,以捕获正确级别中的任何异常。

但是,抛出和捕获异常可能非常昂贵。应用程序必须切换上下文,在使用块时处理任何元素......这就是为什么我同意@Ramhound:你应该修复异常而不是捕获它。