Asp classic 我什么时候可以访问ASPError对象?
我已经开始使用来单元测试我的经典ASP代码。这一切都很好,我很高兴。唯一的问题是测试生成运行时错误时显示的错误消息。例如,如果我没有在函数中的某个地方定义变量,则会出现以下错误: Microsoft VBScript runtime error (500): Variable is undefined Microsoft VBScript运行时错误(500):变量未定义 更有用的是,如果它能告诉我错误发生在哪个文件/行上。我知道我可以从Server.GetLastError()返回的Asperor对象中获取此信息,在我的项目中的其他地方,我有一个自定义的500错误页面,它利用此方法自动向Fogbugz报告崩溃。但是,当我尝试访问Server.GetLastError时,返回的信息为空。例如,以下代码将输出0,而不是预期的4Asp classic 我什么时候可以访问ASPError对象?,asp-classic,error-handling,Asp Classic,Error Handling,我已经开始使用来单元测试我的经典ASP代码。这一切都很好,我很高兴。唯一的问题是测试生成运行时错误时显示的错误消息。例如,如果我没有在函数中的某个地方定义变量,则会出现以下错误: Microsoft VBScript runtime error (500): Variable is undefined Microsoft VBScript运行时错误(500):变量未定义 更有用的是,如果它能告诉我错误发生在哪个文件/行上。我知道我可以从Server.GetLastError()返回的Aspero
<%
Option Explicit
On Error Resume Next
aVariable = "hello"
Dim errObj : Set errObj = Server.GetLastError()
Response.Write errObj.Line
%>
这是访问Asperor的正确方法还是仅在自定义错误页上才可以?有没有更好的方法来获取ASPUnit中报告的错误消息?据我所知,在当前页面完成处理之前,不会填充ASPError对象。这意味着只能在500错误页面上使用。因此,理论上,当您设置了500页后出现错误时,IIS将对该页执行内部重定向,以允许您至少记录错误。然后,也只有到那时,ASPError对象才可用。我曾经有过使用xmlhttprequest来获取页面的疯狂想法,但这不是它的工作方式 简而言之,要获得所需的错误消息详细信息,您所能做的不多
使用JScript服务器端,您可以使用try-catch,它允许您访问异常对象,但即使这样对您也没有多大好处,没有行号或任何东西。垃圾。Boo。这就是我害怕的。感谢您抽出时间回复。