下面是我想在其中使用try-catch和finally block的代码,但我无法做到这一点,我是编程新手,请帮助我在vb.net中的下面的代码中介绍try-catch and finally block,也帮助我为finally block编写代码,我将在其中检查连接是否打开,I连接是打开的,那么它应该在finally块中关闭,但经过检查。如果
条件。。
else
'Try
con.Open()
adp = New OleDbDataAdapter("select * from Login ", con)
adp.Fill(dt, "Login")
Dim i As Integer
For i = 0 To dt.Tables(0).Rows.Count - 1
If (cbType.Text = dt.Tables(0).Rows(i).Item(1) And txtUname.Text = dt.Tables(0).Rows(i).Item(2) And txtPass.Text = dt.Tables(0).Rows(i).Item(3)) Then
MDIParent1.Show()
Exit Sub
End If
' Catch ex As Exception
Next
MsgBox("You Are Not A Valid User!!", MsgBoxStyle.Information)
End If
它非常简单。
请参阅下面的代码。
Try
'In this block your program will try to execute your code.
'If it catches any runtime error it will go to the Catch Block straight away without executing the next code in your Try Block.
'If there are no errors then Finally Block will be executed after Try Block. Catch Block will be skipped.
Catch
'It will display the errors here.
'So you can use Catch ex as exception.
'If you want to see the errors in Messagebox you can write the below line.
'MessageBox.Show(ex.Message)
Finally
'If your program finds errors or not this block will be executed always.
End Try
所以你可以使用Try。。。捕获您的代码如下:
Dim ValidUser as Boolean = False
Try
con.Open()
adp = New OleDbDataAdapter("select * from Login ", con)
adp.Fill(dt, "Login")
Dim i As Integer
For i = 0 To dt.Tables(0).Rows.Count - 1
If (cbType.Text = dt.Tables(0).Rows(i).Item(1) And txtUname.Text = dt.Tables(0).Rows(i).Item(2) And txtPass.Text = dt.Tables(0).Rows(i).Item(3)) Then
ValidUser = true
Exit For
End If
Next
If ValidUser = True
MDIParent1.Show()
Else
MsgBox("You Are Not A Valid User!!", MsgBoxStyle.Information)
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
if con.State = ConnectionState.Open then
con.close()
End If
ValidUser = False
End Try