Exception thrown:
or
15:49:05:175 Exception thrown: 'System.IO.FileNotFoundException' in Lucene.Net.dll
认为明显 - 这些是例外:)...是的,如果您的应用程序应处理高负载,您通常应该担心它们。 .NET中的例外相对昂贵,并且可以将其删除可能会提高服务性能。在研究调查之前先测量。 comperly有三个类别
无法避免的外观(即网络故障,文件访问和类似的类似,首先检查状态实际上无法消除)。那些可能永远留在那里的人,您可能想确认这些人主要发生在启动时而不是每个请求。可以避免使用更具体的配置或依赖项(即,序列化的动态发现会抛出一些)。
使用不提供例外的无常见故障处理的库。比以另一种方式仔细跟踪错误,要抛出异常要容易得多(并且通常建议使用.NET中的方法)。适用于大多数非超级加载案例。如果您确实发现性能是一个问题 - 尝试找到替代方案/使用低级库并自己编写更多代码。在某些情况下,您自己的代码可能会切换到图书馆API的“无例外”变体(类似于15:49:05:424 Exception thrown: 'System.FormatException' in System.Private.CoreLib.dll
通过忽略库中深处的错误掩盖自己的代码的实际问题。检查您的代码是否可以直接影响引发异常的代码 - 即传递“更好”(如空字符串而不是null for String参数)值可能有效。有些问题可能是由于数据出乎意料的问题 - sqlite/search在问题
-may中指出可忽略的问题 - 可能缺少DB的索引或查找额外的解析器以进行搜索(这是我可以基于
的示例,例外,但没看过自己)Exceptionsthe VisualStudio.inethe Debugger。