【问题标题】:Can an exception be used by more than one trigger? Is there a general exception that can be used by any trigger?一个异常可以被多个触发器使用吗?是否有任何触发器可以使用的一般异常?
【发布时间】:2021-01-20 03:42:01
【问题描述】:

大约 18 个月前,我为一个可以正常工作的触发器创建了一个异常。现在,当我尝试为新触发器创建新异常时,它看起来更像是一个错误。所以触发器仍然编译并且异常仍然停止触发器,但它看起来并不专业。它说:

我希望只是:

但带有“线路源选项卡中需要供应商”的消息。

我想我的问题不够清楚,对此我深表歉意。有许多异常只是通知用户存在问题及其是什么,那么为什么不只创建一个异常并每次都更改消息呢?我相信某种异常属于特定的触发器。如果是这样的话,这是怎么做到的?

【问题讨论】:

  • 国际化怎么样?将异常描述更改为当前应用程序用户的语言?考虑这个一般的想法。一般来说,诸如提供描述、打开帮助页面等留给客户端应用程序的事情,它是“用户界面/体验”层的一部分。 USRDEF_NOSUPPLIERINALS 被认为只是一个 ID,一种命名常量。您的应用程序应该处理“SQL 异常”类型的错误,找到这些 ID,将它们与一些错误描述数据库进行匹配,然后在客户端生成人类可读的文本。
  • 您的标题提出的问题与您在问题正文中提出的问题完全不同。至于标题的问题:是的,同一个数据库中的任何 PSQL 代码都可以使用单个异常。至于问题正文中的问题:这似乎是一个特定于应用程序的问题,它如何呈现异常,因此如果您希望它们以不同的方式显示,请更改您的应用程序的工作方式。

标签: exception triggers firebird firebird2.5


【解决方案1】:

您的应用程序如何显示错误与引发这些错误的方式没有直接关系。 ISC API 指南描述了如何解析状态向量和识别 gdscode,以便您可以提取异常消息并显示它而忽略其余部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-30
    • 2013-12-03
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 2013-04-21
    • 1970-01-01
    相关资源
    最近更新 更多