Pregunta

En primer lugar, gracias por tomarse el tiempo de leer mi publicación. Tengo una pregunta que puede ser un pastel de novato para algunos.

Estoy agregando datos a una tabla de base de datos utilizando Entity Framework. Al agregar una clave primaria duplicada, obtengo una excepción en InnerException.

Sin embargo, lo que quiero hacer es reformular este mensaje de error para el usuario final, pero también guardar este mensaje exacto con el nombre de la tabla y el nombre de la columna en mis registros para más adelante. Esencialmente, quiero reformular el mensaje de error a "No puede tener una entrada duplicada para el número de identificación del estudiante. Ingrese un nuevo valor".

¿Cómo puedo hacer esto?

He tratado de heredar de System.Data.UpdateException y poner un IF IF para ver qué lee el Message. Message y luego cambiarlo en consecuencia. Eso no funcionó.

Gracias,

¿Fue útil?

Solución

Creo que esto hará lo que quieras.

        Try
            'your code
        Catch ex As Exception
            'store the ex.Message where you want

            Throw New Exception("Your custom message here.")
        End Try

Ejemplo:

Private Sub uiFunction()
    Dim errorMessage As String
    Try

        'a call to a BLL function/sub that could cause an exception
    Catch ex As Exception
        errorMessage = ex.Message() 'ex.Message() = "Your custom message."
    End Try
End Sub

Public Sub BLLFunction()
    Try
        'run your code that could cause an exception
    Catch ex As Exception
        Throw New Exception("Your custom message.")
    End Try
End Sub
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top