A continuación el código en el que quería usar el try catch y por último bloque, Pero soy incapaz de hacer lo mismo , soy nuevo en la programación, por Favor me ayudan a introducir try catch y por último bloque en el código de abajo en vb.net También ayuda a código para finalmente bloque donde va a ser la de comprobar si la conexión está abierta o no , yo Conexión está abierta, debe ser cerrada por último bloque, pero después de la comprobación .
Si

condiciones..

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
  • Esto probablemente debería ser un Using declaración de todos modos.
  • Si su prueba es fuera del bucle for, a continuación, la captura debe ser también en el exterior.
  • Gracias @the_lotus..funciona, u PUEDE ayudar plz código para finalmente bloque donde va a ser la de comprobar si la conexión está abierta o no , yo Conexión está abierta, debe ser cerrada por último bloque, pero después de comprobar

1 Comentario

  1. 12

    Es muy simple.

    Sólo ver el código de abajo.

    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

    Así que usted puede utilizar Try…Catch en el código de la siguiente manera :

    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
    • Hola, no estoy seguro de ver la diferencia entre poner el código dentro de la Finally cláusula y después de la End Try? ¿Hay alguna posibilidad de que usted puede probar y elaborar sobre esto para mí por favor? Gracias!
    • Por lo general, si usted escribe el código en el bloque finally o después de la final tratar de no hacer ninguna diferencia. Pero si desea cerrar el bloque try inesperadamente, me refiero a que Si se utiliza la Salida de Tratar en su bloque Try o Catch, el Bloque Finally no se ejecutará. Puedo estar equivocado como yo no lo he probado.

Dejar respuesta

Please enter your comment!
Please enter your name here