我不想讨论何时抛出异常而不抛出异常.我想解决一个简单的问题.99%的时间不抛出异常的论点围绕着它们缓慢而另一方声称(基准测试)速度不是问题.我读过很多关于一方或另一方的博客,文章和帖子.那是哪个呢?
可能重复:
.NET异常有多慢?
是否存在抛出异常并立即捕获的开销?这有什么区别
void DoSomething(object basic)
{
try
{
if (basic == null)
throw new NullReferenceException("Any message");
else
{
//...
}
}
catch (Exception error)
{
_logger.WriteLog(error);
}
}
Run Code Online (Sandbox Code Playgroud)
这个(这里我们不抛出异常):
void DoSomething(object basic)
{
try
{
if (basic == null)
{
_logger.WriteLog(new NullReferenceException("Any message");
return;
}
else
{
...
}
}
catch (Exception error)
{
_logger.WriteLog(error);
}
}
Run Code Online (Sandbox Code Playgroud)
第二个片段会更快吗?
此外,我想知道为什么一个解决方案比另一个更快.
在ASP.NET中,我想了解您处理异常的最佳方法是什么.
非常感谢您的帮助谢谢!