|
|
|
Supreme Being
      
участник
Last Login: 19.10.2008 12:14
Сообщ.: 693,
Visits: 7 081
|
|
| Когда в программе происходит ошибка, VS выводит сообщение о ней на желтом экране, а также номер строки и прочие параметры места, где она произошла. А можно ли программно получить то же самое?
Спасибо! Евгений Боуден
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Для этого есть механизм исключений. В веб приложении их можно перехватывать локально внутри конкретного блока кода с помощью Try/Catch или на уровне приложения внутри события Application_Error. Я описывал один из методов такой обработки в своем блоге.
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Хочу дополнить. Номер строки можно узнать из трассировки стека (свойство StackTrace) объекта-исключения. Надо только учитывать что он будет так только когда сборка откомпилирована в режиме отладки.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 19.10.2008 12:14
Сообщ.: 693,
Visits: 7 081
|
|
А при компилляции в режиме Release, номер строки получить безнадежно?
Спасибо! Евгений Боуден
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Конечно. Откуда среде исполнения знать что данный код соответствует такой-то строке в таком-то файле если отладочной информации нет? Ведь одна строка кода на VB.NET/С# может транслироваться в длинный кусок IL-кода.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 19.10.2008 12:14
Сообщ.: 693,
Visits: 7 081
|
|
| Так я и знал! А жаль. :(
Спасибо! Евгений Боуден
|
|
|
|