2016-08-19 1 views
0

Я пытаюсь получить Unique/Primary key Exception номер (2627) в Catch блок.Номер исключений для уловов в .Net

Номер исключения доступен как собственность Количество в e.InnerException.InnerException (как показано на рисунке) enter image description here

Но когда я пытаюсь получить этот номер, я получаю - «Exception» не содержит определение для «номера» .. (См изображения с вопросительным знаком)

  1. Почему я не в состоянии получить этот номер, даже если он явно свойство
  2. Как получить номер исключения.

ответ

1

Это потому, что e.InnerException.InnerException имеет тип Exception, который не имеет Number свойство. Чтобы получить доступ к свойству Number, вам необходимо указать ожидаемый тип времени выполнения e.InnerException.InnerException.

В этом случае, похоже, что тип времени выполнения - SqlException. Если это так, то вы можете выразить свои часы следующим образом (при условии, что вы используете C#):

((SqlException)e.InnerException.InnerException).Number