【发布时间】:2021-01-20 03:42:01
【问题描述】:
大约 18 个月前,我为一个可以正常工作的触发器创建了一个异常。现在,当我尝试为新触发器创建新异常时,它看起来更像是一个错误。所以触发器仍然编译并且异常仍然停止触发器,但它看起来并不专业。它说:
我希望只是:
但带有“线路源选项卡中需要供应商”的消息。
我想我的问题不够清楚,对此我深表歉意。有许多异常只是通知用户存在问题及其是什么,那么为什么不只创建一个异常并每次都更改消息呢?我相信某种异常属于特定的触发器。如果是这样的话,这是怎么做到的?
【问题讨论】:
-
国际化怎么样?将异常描述更改为当前应用程序用户的语言?考虑这个一般的想法。一般来说,诸如提供描述、打开帮助页面等留给客户端应用程序的事情,它是“用户界面/体验”层的一部分。
USRDEF_NOSUPPLIERINALS被认为只是一个 ID,一种命名常量。您的应用程序应该处理“SQL 异常”类型的错误,找到这些 ID,将它们与一些错误描述数据库进行匹配,然后在客户端生成人类可读的文本。 -
您的标题提出的问题与您在问题正文中提出的问题完全不同。至于标题的问题:是的,同一个数据库中的任何 PSQL 代码都可以使用单个异常。至于问题正文中的问题:这似乎是一个特定于应用程序的问题,它如何呈现异常,因此如果您希望它们以不同的方式显示,请更改您的应用程序的工作方式。
标签: exception triggers firebird firebird2.5