InnerException

Предоставляет экземпляр класса Exception, вызвавший текущее исключение.

Свойство InnerException возвращает то же значение, что было передано в конструктор, или null-указатель, если конструктору не было передано значение внутреннего исключения.

При создании исключения X, являющегося непосредственным результатом предыдущего исключения Y, свойство InnerException параметра X должно содержать ссылку на параметр Y.

Свойство InnerException используется, чтобы получить список предшествующих исключений, ставших причиной текущего исключения.

Можно создать новое исключение, которое перехватывает более раннее исключение. Код, обрабатывающий второе исключение, для более адекватной обработки ошибки может использовать дополнительные сведения из более раннего исключения.

Допустим, что существует функция ReadFile, которая считывает файл и форматирует данные на основе этого файла. Если при считывании файла функцией ReadFile возникает исключение IOException, то функция ReadFile перехватывает это исключение IOException и генерирует новое исключение FileNotFoundException. Исключение IOException можно сохранить в свойстве InnerException исключения FileNotFoundException, разрешив выполнение кода, перехватывающего исключение FileNotFoundException, для выяснения причины первоначальной ошибки.

Свойство InnerException, содержащее ссылку на внутреннее исключение, устанавливается при инициализации объекта исключения.

Декларация
public Exception InnerException {get;};
Значение свойства

Экземпляр Exception, описывающий ошибку, вызвавшую текущее исключение.

Примечание

В текущей версии ADO.NET-провайдер СУБД ЛИНТЕР не устанавливает значение данного свойства, поэтому оно всегда имеет null-значение.

Исключения

Отсутствуют.