dev*_*old 3 c# vb.net asp.net string
我每天都会收到大约3-4次相同的错误,并且没有找到如何解决此问题的运气.根据堆栈跟踪,错误发生在Microsoft.VisualBasic库中,那么我将如何解决此问题呢?
这是我发给自己的报告以及服务器生成的报告.任何建议将不胜感激.
REQUEST ======= HttpContext.Current.Request.RawUrl: / UserHostAddress: 207.70.41.78 UserHostName: 207.70.41.78 Request.Browser.Type: IE8 Request.Browser.Platform: Win2000 DATA ==== System.Collections.ListDictionaryInternal MESSAGE ======= Input string was not in a correct format. SOURCE ===== Microsoft.VisualBasic TARGET SITE =========== Double ParseDouble(System.String, System.Globalization.NumberFormatInfo) STACK TRACE ============ at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat) at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
我理解错误是什么以及导致错误发生的原因.我遇到的问题是找出这个错误来自代码中的错误.堆栈跟踪告诉我它来自Visual Basic,但没有别的.没有行号,没有关于什么函数导致这个错误发生的其他信息,还有继续下去所以我在试图诊断某些东西时留下了我的头,看起来好像被包裹在.dll中.
我们正在运行Ektron 7.6.6 sp2,如果它能够照射到主体上.
有没有办法获得更强大的堆栈跟踪?我检查了服务器上的事件查看器,我之前发布的信息就是事件查看器中显示的内容.哪个没有帮助.
感谢您对我的问题的所有回复.
此错误意味着正在执行此类代码Double.ParseDouble("bacon").培根味道鲜美,但它不是双倍的.在代码周围放置一个try/catch,以查看传递给ParseDouble的内容.这应该有助于确定导致问题的原因(可能不是培根),这应该有助于确定它的来源.用户是否在文本框中输入?它来自数据库吗?从那里你可以将ParseDouble更改为Double.TryParse.如果它是一个,这将让你得到双倍,如果没有提供输入坏数据时执行的替代代码分支(此时你可以返回一个错误,如"嘿,吃那个培根,不要把它放入那里").