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

Sil*_*ent 2 c# exception-handling

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

try
{
...
}
catch(Exception ex)
{
throw;
}
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*eet 7

可能导致当异常被抛出的性能损失-但如果被抛出往往不够一个例外,要成为一个问题,它可能已经存在问题事先(例外通常应该不会造成显著的性能损失,因为他们应该只在特殊情况下使用).

即使没有抛出异常,它也可能导致性能损失,因为它可能会阻止方法内联.

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