Как настроить innerexception.message для system.data.updateexception в asp.net
-
27-10-2019 - |
Вопрос
Прежде всего, спасибо, что нашли время, чтобы прочитать мой пост. У меня есть вопрос, который может быть новичками для торта для некоторых.
Я добавляю данные в таблицу базы данных, используя структуру объекта. При добавлении дублированного первичного ключа я получаю исключение в innerexception.message, который гласит «нарушение ограничения первичного ключа« pk_studentid ». Невозможно вставить дубликат ключа в объект« dbo.students ». Заявление было прекращено».
Тем не менее, я хочу сделать перефразирование этого сообщения об ошибке для конечного пользователя, но также сохранить это точное сообщение с именем таблицы и имени столбца в мои журналы на потом. По сути, я хочу перефразировать сообщение об ошибке на «Вы не можете иметь дубликатную запись для идентификационного номера студента. Пожалуйста, введите новое значение».
Как я могу это сделать?
Я попытался унаследовать от system.data.updateexception и установить проверку, чтобы увидеть, что читает innerexception.message, а затем изменить его соответствующим образом. Это не сработало.
Спасибо,
Решение
Я думаю, что это сделает то, что вы хотите.
Try
'your code
Catch ex As Exception
'store the ex.Message where you want
Throw New Exception("Your custom message here.")
End Try
Пример:
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