Asp.net stacktrace异常上的行号错误
我有一些错误代码,我正在使用stacktrace查找行号,但它似乎给了我错误的号码 这是我的密码Asp.net stacktrace异常上的行号错误,asp.net,vb.net,exception,stack-trace,Asp.net,Vb.net,Exception,Stack Trace,我有一些错误代码,我正在使用stacktrace查找行号,但它似乎给了我错误的号码 这是我的密码 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
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
它似乎给出了StackTrace开始的行号,而不是导致异常的行号
有什么想法吗?你肯定想要异常的堆栈跟踪吗?您正在异常处理程序的代码行中创建一个新的stacktrace
您需要的是e.StackTrace。您确实需要异常的StackTrace吗?您正在异常处理程序的代码行中创建一个新的stacktrace 您需要的是e.StackTrace。构造函数为代码中的这一点创建一个新的StackTrace 使用异常的属性。构造函数为代码中的该点创建一个新的stacktrace
使用异常的属性。为什么不使用异常对象中的信息
Catch e As Exception
Response.Write(e.StackTrace)
Response.Write(" Method: " & e.TargetSite)
Response.Write(" File: " & e.Source)
End Try
为什么不使用异常对象中的信息
Catch e As Exception
Response.Write(e.StackTrace)
Response.Write(" Method: " & e.TargetSite)
Response.Write(" File: " & e.Source)
End Try
如果您特别想要一个StackTrace对象,而不仅仅想要e.StackTrace中的字符串,那么将构造函数调用更改为
Dim st As New StackTrace(e, True)
st现在将按照您的预期使用源详细信息进行初始化
有关详细信息,请参阅。如果您特别需要StackTrace对象,而不仅仅需要e.StackTrace中的字符串,请将构造函数调用更改为
Dim st As New StackTrace(e, True)
st现在将按照您的预期使用源详细信息进行初始化
有关详细信息,请参阅。为什么不使用异常附带的stacktrace?为什么不使用异常附带的stacktrace?这提供了完整的stacktrace,但我只需要行号和文件。这提供了完整的stacktrace,但我真的只需要行号和文件