gpt4 book ai didi

optimization - vbscript 中的 Err.clear

转载 作者:行者123 更新时间:2023-12-03 08:16:21 24 4
gpt4 key购买 nike

在这个 vbscript 中,第二个 Err.Clear 是否需要作为优化的一部分。

   Set WshShell = CreateObject("WScript.Shell")
strSpoRootKey = "HKLM\SOFTWARE\"
strKey = RootKey & "tcc\Operation\" & Version & "\Location"
strPath = wshShell.RegRead(strKey)
If Err Then
Err.Clear //first Err.clear
RootKey = "HKLM\SOFTWARE\Wow6432Node"
strKey = RootKey & "tcc\Operation\" & Version & "\Location"
strPath = wshShell.RegRead(strKey)
If Err Then
Err.Clear // second Err.clear
strErr = strErr & ": " & Version & ": " & strKey & ":error("
End If
End If

我们是否应该从代码中删除第二个 Err.Clear

最佳答案

来电目的Err.Clear明确清除 Err捕获并处理错误后的对象。 MSDN建议当您使用带有 On Error Resume Next 的延迟错误处理时,这尤其有用。 .这表明您确实应该调用 Err.Clear在您处理了检测到的错误之后,无论这对您的特定应用程序意味着什么。

您并没有真正提供足够的代码来建议您正在使用的那种错误处理例程。例如,如果您有 On Error Resume Next在您发布的 block 上方的代码中,和/或您正在使用 strErr 做什么实际处理错误。您的脚本是否在已发布部分的末尾结束?如果是这样,您可能很清楚地删除了第二个 Err.Clear ,因为在脚本执行过程中无论如何都不会引发另一个错误。

无论如何,我将采取简单的方法并建议您也这样做:绝对没有理由通过删除任何 Err.Clear 来“优化”此代码。陈述。 我保证该语句不会成为脚本执行速度的瓶颈。除非您的错误处理例程遇到问题(例如两次捕获相同的错误或由于过早清除错误而未能捕获错误),否则几乎没有理由担心“额外”Err.Clear陈述。

关于optimization - vbscript 中的 Err.clear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4131934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com