stacktrace异常中的行号错误

Jam*_*lor 1 vb.net asp.net exception stack-trace

我有一些错误的代码,我正在使用堆栈跟踪找出行号是什么,但它似乎给了我错误的数字

这是我的代码

Try

    Dim query As String = "Select * from table"
    Dim ds As DataSet = data.db(query)

Catch e As Exception

    Dim st As New StackTrace(True) 'This is the line number it gives me'
    Dim sf As StackFrame = st.GetFrame(0)
    Response.Write(" Method: " & sf.GetMethod().Name)
    Response.Write(" File: " & sf.GetFileName())
    Response.Write(" Line Number: " & sf.GetFileLineNumber().ToString())

End Try
Run Code Online (Sandbox Code Playgroud)

它似乎给出了StackTrace启动位置的行号,而不是导致异常的行号

有任何想法吗?

Chr*_*ney 6

如果您特别需要StackTrace对象,并且不仅仅想要来自e.StackTrace的字符串,那么将构造函数调用更改为;

Dim st As New StackTrace(e, True)
Run Code Online (Sandbox Code Playgroud)

现在将使用您期望的源详细信息初始化"st".

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/dsay49kt.aspx.