Visual Basic.NET - Personalizar mensaje de error

 
Vista:
Imágen de perfil de Francisco
Val: 21
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Personalizar mensaje de error

Publicado por Francisco (13 intervenciones) el 07/07/2018 22:01:53
Buenas tardes,
Quiero personalizar el mensaje de error mediante el uso de la función CONTAINS pero no me lo estaría tomando. Quiero que cuando encuentre ese código, diga un mensaje personalizado, en este caso "PRODUCTO NO ENCONTRADO EN LA BD". Alguna ayuda sobre como ponerlo o alguna otra manera? Adjunto foto del error.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Personalizar mensaje de error

Publicado por omar (166 intervenciones) el 07/07/2018 22:30:57
saludos.
tiene teanviewer para poder conectarme y realizar lo remotamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar
Imágen de perfil de giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Personalizar mensaje de error

Publicado por giancarlo (488 intervenciones) el 28/07/2018 18:16:33
Omar, no estoy seguro que exista una regla de foro para soliitar conexiones remotas, pero en todo caso, si deberia haberlo. El hecho de publicar en los foros es para responderlo ahí mismo, para que cuando otra persona tenga el mismo problema o duda, pueda resolverlo con las respuestas, y no de forma remota.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Personalizar mensaje de error

Publicado por giancarlo (488 intervenciones) el 28/07/2018 18:33:51
Francisco, con el código de la imagen 2 no sale? porque a mi parecer si es correcto, en todo caso conviertelo en mayuscula:
1
2
3
4
5
catch ex as exception
if ex.tostring.toupper.contains("0X80131904") then
msgbox("error")
end if
end try

Sobre tu mensaje de error, por cierto, esta errado, el mensaje es sobre un foreign key en el momento de agregar un registro. Yo lo interpretaría de la siguiente manera: la columna codigo de la tabla producto está enlazado a otra tabla (por foreign key), pero cuando agregas el registro a producto le das un codigo que NO EXISTE en la tabla de codigos, por lo tanto te da el error.

Otra manera que puedes enviar el mensaje de error es con ex.message, el cual será más corto o quizas con :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
catch ex as sqlexception
    Select Case ex.Number
        Case 201 'no se reconoci� parametro de stored procedure
            mensajeError = "201: Sistema: Parametro no reconocido"
        Case 241 'problemas de campo unico
            mensajeError = "241: Error al convertir los campos de fecha"
        Case 547
            mensajeError = "547: Sistema: Invasi�n FK"
        Case 2627 'problemas de campo unico
            mensajeError = "El registro actual ya ha sido grabado anteriormente"
        Case Else
            mensajeError = "Error " & ex.Number & ":" & vbNewLine & ex.Message
    End Select
 
    Throw New Exception(mensajeError)
end try
el problema con esto es que tendrías que acumular el significado de error de muchos números (o lo más comunes quizas)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar