旧ASP中的"on error goto 0"和"error resume next"是什么意思?

Jak*_*urc 5 vbscript asp-classic

我正在使用旧的ASP代码,我不确定语义on error goto 0error resume next构造.

你能推荐一些有用的资源或者直接给我看看吗?

Raz*_*zie 5

在出错时继续执行下一个:如果程序中存在异常,则将其忽略并继续执行下一条语句。被认为非常糟糕和丑陋,我认为是正确的。就像拥有一个大:

try
{
  // your code
}
catch
{
  // nothing! muhaha
}
Run Code Online (Sandbox Code Playgroud)

在代码的每种方法中(或更糟糕的是,在整个程序中)。

出现错误时,转到0:禁用当前过程中定义的任何错误处理程序。这就像对您的代码进行大量尝试,一旦达到这一行就将其禁用。

有关更多信息,请参见MSDN

  • +1是。我只是发现了这一点:如果使用On Error Goto 0,则过程中的所有其他On Error语句将被禁用。那完全是出乎意料的。我以为文档说的是仅禁用了最后执行的错误处理程序。我希望,如果代码到达另一个错误处理程序,它将再次启用,但事实并非如此。 (2认同)