Vb.net VS2008调试期间不需要的异常抑制
有没有办法强制Vb.net VS2008调试期间不需要的异常抑制,vb.net,visual-studio-2008,exception-handling,.net-3.5,sqldatareader,Vb.net,Visual Studio 2008,Exception Handling,.net 3.5,Sqldatareader,有没有办法强制SqlDataReader抛出异常?它似乎有一个非常有问题的行为,SqlDataReader将有一个异常,并导致它所在的函数过早结束,而不会抛出异常,特别是当它尝试读取isDBNull值时 (2013年5月10日)编辑:进一步反思,似乎是Microsoft.VisualBasic.CompilerServices.Conversions的行为在悄无声息地捕捉异常 显然,异常抑制只发生在调试时——我运行了一个发布版本,异常肯定出现在那里。显然,这只是VisualStudio调试的一个
SqlDataReader
抛出异常?它似乎有一个非常有问题的行为,SqlDataReader
将有一个异常,并导致它所在的函数过早结束,而不会抛出异常,特别是当它尝试读取isDBNull
值时
(2013年5月10日)编辑:进一步反思,似乎是Microsoft.VisualBasic.CompilerServices.Conversions的行为在悄无声息地捕捉异常
显然,异常抑制只发生在调试时——我运行了一个发布版本,异常肯定出现在那里。显然,这只是VisualStudio调试的一个属性
(5/14/2013)EDIT2:在调试中发现类似的捕获,但没有try/catch块行为,SqlDataReader索引与列名不匹配。仅当使用“所有异常中断”调试设置时,才会出现IndexAutoFrangeException
更多详情:
Public Function GetData() As DataObj
Dim sqlConn As New SqlConnection(ConnectionSettings.DBCon)
Dim sqlCommand As New SqlCommand("an_sp", sqlConn)
Dim sqlReader As SqlDataReader
Dim dataObject As New DataObj
sqlCommand.CommandType = CommandType.StoredProcedure
sqlCommand.Connection.Open()
sqlReader = sqlCommand.ExecuteReader
While sqlReader.Read
With dataObject
'Exception thrown here in debugging
.DateField = sqlReader("DateField")
End With
End While
Return dataObject
End Function
发生System.InvalidCastException异常
Message=“从类型“DBNull”转换为类型“Date”无效。”
Source=“Microsoft.VisualBasic”
堆栈跟踪:
位于Microsoft.VisualBasic.CompilerServices.Conversions.ToDate(对象值)
在C:\Users\me\Documents\Visual Studio 2008\VS 2008 Projects\General\DataAccess\DataAccess\MyDAO.vb中的DataAccess.MyDAO.GetData()处:第603行
InnerException:你能发布一些我们有兴趣的代码吗?更新了更多数据