Cómo personalizar innerexception.message para system.data.updateException en ASP.NET
-
27-10-2019 - |
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,
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