可能重复:
.NET 异常有多慢?
抛出异常并立即捕获它是否有开销?这有区别吗
void DoSomething(object basic)
{
try
{
if (basic == null)
throw new NullReferenceException("Any message");
else
{
//...
}
}
catch (Exception error)
{
_logger.WriteLog(error);
}
}
还有这个(这里我们不抛出异常):
void DoSomething(object basic)
{
try
{
if (basic == null)
{
_logger.WriteLog(new NullReferenceException("Any message");
return;
}
else
{
...
}
}
catch (Exception error)
{
_logger.WriteLog(error);
}
}
第二个片段会更快吗?
另外我想知道为什么一种解决方案比另一种更快。