gpt4 book ai didi

delphi - 如何为 VBScript 错误获取更具说明性的字符串

转载 作者:行者123 更新时间:2023-12-03 18:38:15 25 4
gpt4 key购买 nike

只是为了更多地解释上下文,这是如何重现:

  • Delphi 7(但也可能是更新的版本)
  • 导入类型库“Microsoft VBScript 正则表达式 5.5”

  • 围绕这段代码编写一个程序:
    var
    re:RegExp;
    try
    re:=CoRegExp.Create;
    re.Pattern:='(';//is an invalid regex, but see below
    re.Test('');
    except
    on e:Exception do
    Caption:=e.ClassName+' '+e.Message;
    end;

    这将引发异常 EOleError OLE error 800A139C
    这样做是因为 SysErrorMessage 在此代码上返回一个空字符串,并且 EOleSysError 构造函数默认为 SOleError 资源字符串以返回某些内容。

    是否有 Winapi 替代 SysErrorMessage 以获得更好的错误描述?如果我用谷歌搜索一下,代码确实代表“缺少括号”错误,但如果有办法从系统中获取(本地化)描述,我宁愿使用它,而不是必须添加枚举我的项目的错误描述常量。

    最佳答案

    那是 COM error .要获得文字说明,请调用 GetErrorInfo然后 IErrorInfo.GetDescription .但是,如果您没有得到任何有用的返回,请不要感到惊讶。

    关于delphi - 如何为 VBScript 错误获取更具说明性的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10036626/

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