Как выявить причину исключения на основе Exception.StackTrace?

Рейтинг: 0Ответов: 1Опубликовано: 30.12.2014

Как выяснить причину ошибки? Например, на таком сообщении:

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize) at System.IO.StreamReader..ctor(String path) at LVKWinFormsSandbox.MainForm.button1_Click(Object sender, EventArgs e) in C:\Dev\VS.NET\Gatsoft\LVKWinFormsSandbox\MainForm.cs:line 36

Ответы

▲ 2Принят

Обычно в таких сообщениях выводит много-много различных файлов (я упрощаю). Когда произошел сбой, то самый верх - это где он, собственно, произошел. Нужно аккуратно спускаться вниз до тех пор, пока не попадете в свой код. В данном случае это обработчик нажатия кнопки в файле C:\Dev\VS.NET\Gatsoft\LVKWinFormsSandbox\MainForm.cs, строка 36. Вот в нее и нужно смотреть пристальнее. А в ней, видимо, открывается какой-то файл. Может быть, что его нет или нет доступа (Вы предоставили только часть сообщения).