我有一个简单的函数,它试图从Obout网格过滤器列中获取值,如果该值为空,则忽略它并继续前进。出于某种原因,这段代码忽略了我的catch块,并且当输入字符串为空时总是显示一个System.FormatException!尝试捕捉块不捕捉?
更奇怪的是,如果我使用visual studio的调试器并在该行上设置一个断点,catch块将正常运行(在我继续该行之后)。我已经确认我的Debug |例外| CLR在抛出时不会被捕获。我也在生产版本中证实了这一点。
'Get the month selected
Dim MonthSelected As Integer
Try
MonthSelected = CInt(DateCreatedColumn.FilterCriteria.Value)
Catch ex As Exception
'If value is empty/not a number reset the filter
DateCreatedColumn.FilterCriteria.FilterExpression = String.Empty
Return
End Try
如果您在调试器中遇到断点后继续运行,会发生什么? –
尝试删除临时文件,asp.net临时文件,obj文件夹,重建并重试。即使重新启动IDE。它看起来像默认加载的调试符号不同步。 – Mrchief
为什么你在'Catch'块中有'Return'? – Jodrell