Wie man innerexception.message für system.data.updateException in ASP.NET anpassen
-
27-10-2019 - |
Frage
Erstens danke, dass Sie sich die Zeit genommen haben, meinen Beitrag zu lesen. Ich habe eine Frage, die für einige ein Neuling Kuchen sein kann.
Ich füge Daten zu einer Datenbanktabelle mithilfe von Entity Framework hinzu. Beim Hinzufügen eines doppelten Primärschlüssels erhalte ich eine Ausnahme in Innerexception.message mit der Aufschrift "Verstöße gegen die primäre Schlüsselbeschränkung" pk_studentid ". Der doppelte Schlüssel kann nicht in Objekt 'dbo.students' eingefügt werden. Die Aussage wurde beendet."
Ich möchte jedoch diese Fehlermeldung für den Endbenutzer umformulieren, aber auch diese genaue Nachricht mit dem Tabellennamen und dem Spaltennamen für später in meinen Protokollen speichern. Im Wesentlichen möchte ich die Fehlermeldung in "Sie können keinen doppelten Eintrag für die Identifikationsnummer der Studentin umformulieren. Bitte geben Sie einen neuen Wert ein."
Wie kann ich das machen?
Ich habe versucht, von System.data.UpdateException zu erben und eine IF -Überprüfung zu geben, um zu sehen, was die Innerexception.message liest, und dann entsprechend zu ändern. Das hat nicht funktioniert.
Vielen Dank,
Lösung
Ich denke, das wird tun, was Sie wollen.
Try
'your code
Catch ex As Exception
'store the ex.Message where you want
Throw New Exception("Your custom message here.")
End Try
Beispiel:
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