Как настроить InnerException.Message для System.Data.UpdateException в ASP.NET - PullRequest
0 голосов
/ 29 апреля 2011

Прежде всего, спасибо, что нашли время, чтобы прочитать мой пост.У меня есть вопрос, который может быть новичком для некоторых.

Я добавляю данные в таблицу базы данных, используя Entity Framework.При добавлении дубликата первичного ключа я получаю исключение в InnerException.Message, которое гласит: «Нарушение ограничения PRIMARY KEY« PK_StudentID ». Не удается вставить дубликат ключа в объект« dbo.Students ». Оператор завершен.»* Однако я хочу перефразировать это сообщение об ошибке для конечного пользователя, но также сохранить это точное сообщение с именем таблицы и именем столбца в моих журналах для дальнейшего использования.По сути, я хочу перефразировать сообщение об ошибке: «У вас не может быть повторяющейся записи для идентификационного номера студента. Пожалуйста, введите новое значение».

Как я могу это сделать?

Я пыталсянаследовать от System.Data.UpdateException и поставить проверку if, чтобы увидеть, что читает innerexception.message, а затем изменить его соответствующим образом.Это не сработало.

Спасибо,

1 Ответ

0 голосов
/ 29 апреля 2011

Я думаю, что это будет делать то, что вы хотите.

        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
...