【问题标题】:ASP and COM Error HandlingASP 和 COM 错误处理
【发布时间】:2011-11-20 01:14:12
【问题描述】:

我们正在开发基于 ASP 的 Web 服务器以在 WIN CE 设备上运行。 ASP 页面使用 COM 组件来执行服务器端操作。

我们对错误处理有一些疑问。我们的疑问是

从 COM 组件向 ASP 页提供错误信息的最佳方法是什么?我们正在使用 VBScript 编写 ASP
如果我们要显示从 COM 服务器接收到的特定错误消息,例如“连接超时”,那么从 COM 传递错误消息的最佳机制是什么? 我们在哪里可以找到有关错误处理的更多信息?

我们是 VBScript 的新手,在网上找不到太多关于该主题的信息

【问题讨论】:

  • 您为什么要尝试使用 VBScript 和经典 ASP 等老技术?您是否没有从找不到文档这一事实中得到线索,也许有更好的方法?
  • @DOK:客户指定我们必须使用ASP和VBScript。
  • 客户是否知道 ASP 已过时?您确定客户不是指“ASP.NET”和“VB.NET”吗?
  • @John AFAIK,Windows CE 中不支持 asp.net。
  • @yms:刚刚发现 Web 服务器将在 Windows CE 设备上运行!我编辑了问题以使其更清楚。我的批评是基于这样一种假设,即有更好的东西可用。显然,没有。

标签: com asp-classic vbscript windows-ce


【解决方案1】:

COM 对象方法通常返回 HRESULT,其中包含错误代码以防失败。您可以尝试通过读取属性Err.Number 在VB.Script 中获取此值。

【讨论】:

【解决方案2】:

这是一种可能适合您的方法。 将您对 COM 对象的调用放在子或函数内,以便您可以在该范围内使用“On Error Resume Next”。 (除非你在任何地方都在做On Error Resume Next,这也可能没问题,只要你做很多错误检查。) 每当您做任何可能引发错误的事情时,例如调用您的 COM 对象,检查错误并相应地处理它。例如,在您只想静默记录错​​误的情况下,您可以调用与此类似的 sub:

Sub CheckError
    If Err Then
        WriteLog "ERROR " & Err.Number & ": " & Err.Description
        Err.Clear
    End If
End Sub 'CheckError

或者,退出并向用户显示错误信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 2011-03-18
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多