Я пишу процедуру журнала ошибок (из соображений безопасности, я не могу использовать log4net / elmah и т.д.), и я хотел знать, возможно ли получить номер строки строки, где ошибка произошла и / или имя процедуры, где ошибка произошла?
Я буду создавать выгоду попытки наконец блоки операторов, таким образом, я буду надеяться получить номер строки errorhandler (или строка, которая вызвала ошибку), и связанное имя процедуры.
Catch (Исключение e)
{
строка errMessage = e.Message
строка errTraceDetails = e.StackTrace
}
Это должно дать вам необходимую информацию.
Если вы также развернули файлы .pdb, вы должны получить номер строки в тексте исключения.
Я не рекомендую писать это самостоятельно. Я везде использую elmah для подобных вещей.
Попробуйте:
string errorMessage = Exception.Message
string errorDetails = Error.Stacktracer
Ну, трассировка стека будет в исключении, которое вы поймаете, и оно будет содержать метод, в котором возникло исключение, и дерево вызовов вплоть до этого исключения. Номер строки зависит от отладочных символов (pdb-файлов), но если они развернуты, это также будет в трассировке стека.