Shaikh Nadeem Shaikh Nadeem - 6 months ago 12
Vb.net Question

How do I use try catch and finally block in vb.net?

Below is the code in which I wanted to use try catch and finally block But I am unable to do the same , I am new in programming, Please help me to introduce try catch and finally block in the below code in vb.net, Also help to code for finally block where I will be checking whether connection is open or not , I Connection is open then it should be closed in finally block but after checking .
If

conditions..

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

Answer

It is very simple.

Just see the code below.

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

So you can use Try...Catch in your code as follows :

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
Comments