我正在编写一个错误日志程序(出于安全考虑,我不能使用log4net / elmah等),我想知道是否可以获取发生错误的行的行号和/或过程名称发生错误的地方?
我将创建try catch finally语句块,所以我希望得到错误处理程序的行号(或导致错误的行)和相关的过程名称。
答案 0 :(得分:5)
Catch(例外e)
{
string errMessage = e.Message
string errTraceDetails = e.StackTrace
}
这应该为您提供所需的详细信息。
答案 1 :(得分:4)
如果您也部署了.pdb文件,则应在异常文本中获取行号。
我建议不要自己写这个。我到处都使用elmah来处理这类事情。
答案 2 :(得分:0)
堆栈跟踪将在您捕获的异常中,并且将包含抛出异常的方法和调用树直到该异常。行号取决于调试符号(pdb文件),但是如果部署它们也将在堆栈跟踪中。
答案 3 :(得分:0)
尝试:
string errorMessage = Exception.Message
string errorDetails = Error.Stacktracer