【发布时间】:2011-10-20 00:11:18
【问题描述】:
ASP、C#、VB.NET 是否有办法检索代码中的哪一行作为其处理命令?
例子
1 <%
2 response.write("Your on line " & retreiveCurrentLineNumber)
3 %>
输出:您的第 2 行
【问题讨论】:
标签: c# asp.net vb.net vbscript asp-classic
ASP、C#、VB.NET 是否有办法检索代码中的哪一行作为其处理命令?
例子
1 <%
2 response.write("Your on line " & retreiveCurrentLineNumber)
3 %>
输出:您的第 2 行
【问题讨论】:
标签: c# asp.net vb.net vbscript asp-classic
你可以这样做:
var line = new StackFrame(0, true).GetFileLineNumber();
注意这里有几个注意事项。
对于 VB.NET 也是一样的:
Dim line As Integer = New StackFrame(0, True).GetFileLineNumber()
就 Classic ASP 而言 - 我认为这是不可能的。
【讨论】:
虽然 vcsjones 的答案可能正是您正在寻找的,但出于调试/故障排除 VB.NET 的目的,您可能需要查看 Err 对象的 Erl 属性。它返回一个整数,表示最后执行的语句的行号 - 行号表示数字标签,而不是源文件的物理行号。
在关键点添加行号有助于解决意外异常,并且不需要源文件和 PDB 即可使 Erl 工作。
【讨论】: