【问题标题】:How to return errors from a UDF in Firebird?如何从 Firebird 中的 UDF 返回错误?
【发布时间】:2013-03-14 12:47:13
【问题描述】:

我正在为 Firebird 编写一个 UDF,它从 blob 中提取信息并将其作为字符串返回。

如果我遇到问题(错误的数据或错误的 UDF 参数),是否有任何方法可以将错误消息/代码发送回 Firebird。

我知道我可以将消息放入字符串返回值中,用户会看到,但 Firebird 无法识别发生了错误。

我使用的是 Firebird 2.1。

【问题讨论】:

  • 我查看了一些现有的 UDF,但没有看到明显的机制,您可能想在 firebird-support 或 firebird-devel 邮件列表中询问(请参阅 firebirdsql.org/en/mailing-lists 订阅信息)

标签: firebird


【解决方案1】:

UDF 不应引发异常,因为 Firebird 引擎无法捕获它们。

Firebird Release Notes 2.1.4:

由于 UDF 没有正式的机制来表示错误,因此必须将返回值用作指示符。

例如,您可以使用 Magic Prefixes 模式返回错误信息:

  • 如果发生错误,返回“!ErrorCode!Error message”;
  • 如果一切正常,返回“结果”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2013-02-15
    • 2021-12-22
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多