error-handling - 在Crystal Reports中是否具有TryParse或Try/Catch等效项?

标签 error-handling crystal-reports type-conversion

我已经在Crystal Reports中创建了一个报表,该报表使用一个文本列并根据定界符对其进行拆分,然后将数组的第一部分转换为数字,第二部分转换为日期。我们有一些不良数据,这些数据无法转换并导致报告崩溃,因此我想创建另一个报告以帮助查找不良数据。该报告将显示其他报告中无法解析的所有记录。

我主要是.Net开发人员,并且我们具有执行DateTime.TryParse(string)之类的功能,该功能返回 bool(boolean) 值。我需要能够在Crystal Reports公式字段中执行类似的操作,但是在我的生命中,我找不到等效项或任何种类的try/catch错误处理。

有什么建议?

最佳答案

Crystal 报表引擎的处理异常

当您通过应用程序运行Crystal Reports时,有时Crystal Report Engine会导致异常。发生异常时,它可能导致出现错误对话框或导致报告停止处理。导致异常的一些原因是:

  • 报告引擎无法连接到数据库。这可以是
    因为存在数据库位置或错误的登录参数
    传递给报告引擎。也可能是因为其他数据库
    错误,例如表被另一个用户,数据库锁定
    引擎安装不正确或表已损坏。
  • 错误的数据已传递给参数。如果有参数
    从代码或用户输入接收到不正确的数据,这可能会导致
    该报告停止运行。例如,将字符串值传递给
    数字参数将停止运行报告。
  • 在Crystal Reports公式中发现错误。如果其中之一
    报告中的公式无法正确评估,异常(exception)
    将被抛出。这可能是由于公式中的语法错误或
    另一个程序错误,例如除以零错误。
  • 报告引擎无法打开报告。如果发生这种情况,
    给出了错误的文件名或路径,非 Crystal 报告是
    选择,或报告已损坏。

  • 您可以选择让Crystal Report Engine本身处理异常,并显示其自己的错误消息,也可以决定自己处理异常。以编程方式处理异常的一些优点是:
  • 您可以自定义显示给用户的错误消息。对于
    例如,当报表无法显示时,不显示“登录失败”
    连接到数据源,您可以显示更完整的消息,
    如“无法连接到数据库,登录参数不正确
    提供”。这将为用户提供更多详细信息。
  • 您可以将事件写入应用程序的日志文件。您可以选择
    编写错误消息,错误ID,发生的时间等
    日志文件的相关信息。这将允许错误
    跟踪和以后审查。
  • 您可以使用自己的代码处理异常以允许报告
    继续处理。通过检查错误是什么,您可以
    能够编写处理错误并重新运行报告的代码
    正确的信息。

  • http://msdn.microsoft.com/en-us/library/aa288423%28v=vs.71%29.aspx

    关于error-handling - 在Crystal Reports中是否具有TryParse或Try/Catch等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15770242/

    相关文章:

    reactjs - Apollo GraphQL 本地和全局错误处理

    javascript - AJAX 和 JSON 错误处理

    excel - 使用错误处理程序,如果用户第一次无法使用该表单,则可以让用户尝试再次提交该表单

    crystal-reports - Crystal Reports 更改数据源

    c++ - const 双指针参数的非常量指针参数

    Haskell:如何在命令行中将 args 读取为 int?

    c++ - 模板中的类型转换

    magento - 错误magento 1.9-使用未定义的常数tmp-假定为 'tmp'

    asp.net - 哪个版本的 Crystal Reports 使用 13.0.2000?

    c++ - 退出应用程序时崩溃