异常处理程序导致任何性能降级?

时间:2011-11-17 15:41:58

标签: c# exception-handling

如果我有一段代码可以做这样的事情。

try
{
...
}
catch(Exception ex)
{
throw;
}

事实上,在catch块中我们只进行了抛出,我似乎无法找到这个特殊异常处理程序的任何优点。这种不必要的捕获导致代码流是否有任何性能问题?

1 个答案:

答案 0 :(得分:7)

可能在抛出异常时导致性能损失 - 尽管如果经常抛出异常导致该异常,则可能已经 a事先出现问题(异常通常会导致重大的性能损失,因为它们只应在特殊情况下使用)。

即使未被抛出,可能会导致性能下降,因为它可能会阻止方法被内联。

导致可读性/简单性问题 - 这是摆脱它的主要原因。也许它是出于调试目的,但没有理由在签入代码中使用它。它是丑陋而毫无意义的,所以一定要删除。