当前位置: 首页 > 编程语言 > C#

在C#中使用异常,它会影响性能吗?分享

时间:2023-04-10 17:15:30 C#

在C#中使用异常。它会影响性能吗?基本上,问题是:C#中的异常会影响性能吗?避免异常重新抛出更好吗?如果我在我的代码中生成异常,它会影响性能吗?对于问题本身的问题,我们深表歉意Microsoft的开发类库设计指南是非常宝贵的资源。这是一篇相关文章:ExceptionsandBehavior我还推荐MicrosoftPress的“FrameworkDesignGuidelines”一书。它有很多来自设计指南链接的信息,但它是由MS人员和AndersHejlsberg本人注释的。它提供了很多关于事物“为什么”和“如何”的洞察力。如果您担心异常性能,那您就用错了它们。但是,异常确实会影响性能。抛出异常在C#中是一个昂贵的操作(与C#中的其他操作相比),但还不够,我会避免它。我同意Jared的观点,如果您的应用程序由于引发和抛出异常而显着变慢,我会看看您的总体策略。有些事情可能会被重构以使异常处理更有效,而不是忽略代码中抛出异常的概念。通过try/catch语句运行代码根本不会影响性能。如果抛出异常,唯一的性能影响是......因为运行时必须展开堆栈并收集其他信息以填充异常对象。大多数人都说,加上:不要将异常用作编程流程的一部分。换句话说,不要为account.withdrawalAmount>account.balance之类的事情抛出异常。这是一个商业案例。关注性能的另一个重要因素是吞噬异常。这是一个滑坡,一旦你开始允许你的应用程序吞下异常,你就会开始到处这样做。现在您可能允许您的应用程序抛出您不知道的异常,因为您吞下它们并且您的性能受到影响,并且您不知道为什么。不傻,只是在别处见过而已。当事情非常特殊时就会出现异常。大多数情况下,当没有多少机会从中恢复时,您会重新抛出异常(可能在记录之后)。所以它不应该打断你正常的程序执行过程。异常,顾名思义,是特殊的。因此,您不能指望它们成为优化的重要目标。更多时候,他们表现不佳是因为他们有其他优先事项,例如收集有关问题所在的详细信息。.NET中的异常确实会影响性能。这就是为什么它们只应在特殊情况下使用。以上就是C#学习教程:在C#中使用异常。它会影响性能吗?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: