c# – InternalSubStringWithChecks异常

我们通过应用程序的healthMonitoring得到了这个InternalSubStringWithChecks异常.

此异常类似于Padding is invalid,并且在记录它时无法删除异常,我们收到通知电子邮件,但最终用户不知道发生了实际错误.虽然我们不希望我们的事件日志填满这个垃圾!

堆栈跟踪是:

Event message: System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
   at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
   at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

我找不到有关导致此问题的原因以及如何通过Google修复此问题的任何有用信息.有没有其他人遇到/修复过这个?

最佳答案 您正在使用不正确的参数调用Substring()方法.例如:

string a = "test";

a.Substring(0,100) 

会抛出异常.

点赞