Try语句未捕获异常vb.net
我的异常不适用于搜索并返回带有信息的excel文件。下面,您将看到它循环遍历第一列,并根据全局设置的变量返回信息。我已经提出了一个例外,如果尝试失败,一个消息框将弹出,告诉他们它找不到他们,但它没有抓住它。相反,如果用户未在数据库中列出,则会冻结程序Try语句未捕获异常vb.net,vb.net,Vb.net,我的异常不适用于搜索并返回带有信息的excel文件。下面,您将看到它循环遍历第一列,并根据全局设置的变量返回信息。我已经提出了一个例外,如果尝试失败,一个消息框将弹出,告诉他们它找不到他们,但它没有抓住它。相反,如果用户未在数据库中列出,则会冻结程序 Private Sub ExceptionToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Excepti
Private Sub ExceptionToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExceptionToolStripMenuItem.Click
Dim objexcel As New Excel.Application
Dim objWorkbook As Excel.Workbook
Dim objWorksheet As Excel.Worksheet
objexcel.DisplayAlerts = False
If Global_Variables.SavedResults.UserM = Nothing And Global_Variables.SavedResults.UserL = Nothing Then
objWorkbook = objexcel.Workbooks.Open("filepath", [ReadOnly]:=True)
objWorksheet = CType(objWorkbook.Worksheets.Item("Sheet1"), Excel.Worksheet)
Try
For x As Integer = 1 To objWorksheet.Rows.Count Step 1
If objWorksheet.Cells(x, 1).value = Global_Variables.SavedResults.UserD Then
Global_Variables.SavedResults.UserL = objWorksheet.Cells(x, 3).value
Global_Variables.SavedResults.UserM = objWorksheet.Cells(x, 2).value
Exit For
End If
Next
Exit Try
Catch ex As Exception
MsgBox("You are not in the Database.")
End Try
objWorkbook.Close()
objexcel.Quit()
ReleaseObject(objWorksheet)
ReleaseObject(objWorkbook)
ReleaseObject(objexcel)
objWorkbook = Nothing
objWorksheet = Nothing
objexcel = Nothing
End If
Dim Email As New Email_Templates
Email.Exception()
End Sub
它在哪一行出错?您是否调试并遵循代码-发生了什么?代码中不应出现任何异常。最可能的情况是,循环需要很长时间,可能是因为objWorksheet.Rows.Count不是工作表中的实际行数,而是一个大常量。可能您应该将计数设置为最后一行。当数据库中未列出的人使用该程序时,会发生错误。程序冻结了,因为他们不在其中。try语句应该在数据库不存在时抛出它们。我知道你要去哪里。如果最后一行发生了变化,我如何在逻辑中解释这一点?因为这可能就是问题所在。