首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >KfxReleaseScript中的LogError()

KfxReleaseScript中的LogError()
EN

Stack Overflow用户
提问于 2018-11-28 22:15:33
回答 2查看 113关注 0票数 0

在创建Kofax发布脚本时,可能会出现错误。目前,我在catch语句中显示了错误消息框。

代码语言:javascript
复制
public KfxReturnValue OpenScript(){
    try{
        // ...
        return KfxReturnValue.KFX_REL_SUCCESS;
    }catch (Exception e){
        // Show Error Messagebox
        return KfxReturnValue.KFX_REL_ERROR;
    }
}

public KfxReturnValue ReleaseDoc(){
    try{
        // ... 
        return KfxReturnValue.KFX_REL_SUCCESS;
    }catch (Exception e){
        // Show Error Messagebox
        return KfxReturnValue.KFX_REL_ERROR;
    }
}

public KfxReturnValue CloseScript(){
    try{
        GC.Collect();
        GC.WaitForPendingFinalizers();
        return KfxReturnValue.KFX_REL_SUCCESS;
    }catch (Exception e){
        // Show Error Messagebox
        return KfxReturnValue.KFX_REL_ERROR;
    }
}

ReleaseData对象有一个名为LogError的方法。此方法执行以下操作

在Kofax捕获错误日志中记录错误。每个月都会创建一个新的错误日志,文件名指示月份和年份。例如,2008年1月的错误日志为ERR_0108.txt。

它采用以下参数

代码语言:javascript
复制
Err1 as long 
Err2 as long 
Err3 as long 
ErrorMessage as string
CodeModule as string 
LineNumber as long

这些参数都不是可选的。我在文档中找不到任何关于这些参数的东西,那么我需要什么才能传入其中呢?(ErrorMessage很明显,CodeModule可能是Kofax捕获导出连接器)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-30 22:38:16

看起来LogError可以像我喜欢的那样使用。我创建了两个扩展方法

代码语言:javascript
复制
    public static void LogError(this ReleaseSetupData setupData, string errorMessage)
    {
        setupData.LogError(0, 0, 0, errorMessage, "Kofax Capture Custom Export Connector", 0);
    }

    public static void LogError(this ReleaseData releaseData, string errorMessage)
    {
        releaseData.LogError(0, 0, 0, errorMessage, "Kofax Capture Custom Export Connector", 0);
    }

并且现在可以执行

代码语言:javascript
复制
setupData.LogError("Error Message goes here");

代码语言:javascript
复制
releaseData.LogError("Error Message goes here");

我想这对我的案子应该没问题。

票数 0
EN

Stack Overflow用户

发布于 2018-12-04 04:24:36

虽然参数不是可选的,但您可以使用任何值(您已经知道了)。此外,这里介绍了如何记录整个堆栈以及行号,这将有助于确定问题的根本原因。请注意,您必须将pdb文件与二进制文件一起包括在内。

代码语言:javascript
复制
private void LogCaptureError(Exception e)
{
    // make sure to provide the pdb file, otherwise we can not access the line number
    DocumentData.LogError(0, 0, 0, 
      e.ToString(), 
      e.Source, 
      (new StackTrace(e, true).GetFrame(0).GetFileLineNumber())
    );            
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53521466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档