为什么我的服务器端异常不会导致我的代码在VS2010中断?

时间:2011-04-25 18:47:34

标签: asp.net visual-studio-2010 exception string-formatting

我正在本地运行IIS上的一个ASP.NET项目,并且在处理回发后会将异常报告回Web浏览器。

在VS2010中,如果我查看Debug-> Exceptions ...,则会在抛出时检查每个异常类型是否中断。

以下是我在浏览器弹出窗口中看到的异常:

  

行:868   错误:Sys.WebForms.PageRequestManagerServerErrorException:输入字符串的格式不正确。

以下是我从Fiddler获得的浏览器的回复:

  

41 | error | 500 |输入字符串的格式不正确。|

当然我用google搜索,大多数帖子都说尝试将字符串解析为int会导致这种情况。我不认为我在做那样的事情。

==编辑=======
删除了updatepanel,现在我得到了:

[FormatException: Input string was not in a correct format.]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +12630469
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +224
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +483
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3691

=================

感谢, 标记

3 个答案:

答案 0 :(得分:1)

问题是,对于我在网格中的按钮,我设置了CommandArgument,我不应该这样做。 GridView使用它来获取行索引,以防它没有拥有该按钮的实际行。

答案 1 :(得分:0)

在调用代码之前发生异常。也许这个? Sys.WebForms.PageRequestManagerServerErrorException 12031

答案 2 :(得分:0)

我不知道打破你的调试器。默认情况下,此类错误不会破坏您的代码。对于处理数据操作的代码,您应该有一个正确的try {} catch {}语句设置。您甚至可以在catch{}中输出一些调试变量,以帮助您在处理大量数据时找到错误。运行调试器并遍历它以查找错误。