我正在努力将系统错误对象从UI触发器传播到主程序。
关于框架frmFrame中btnButton的选择 做:
/ 这会导致系统错误 / 找到第一个……
从THROW选项的文档,撤消声明:
“UNDO,THROW不允许在用户界面触发器的CATCH块中.ABL不会从用户界面触发器中引发或返回错误。这样做会导致编译时错误。” 上面的句子说“你不......”我认为它应该是“不允许你”。但文档本身是错误的。
无论如何,从今天(2016年12月27日)开始,你想要完成的事情似乎还不可能。
尝试在FIND语句的末尾使用NO-ERROR:
FIND FIRST Customer NO-LOCK WHERE Customer.CustNum = 1875918759178 NO-ERROR.
然后,您可以使用ERROR-STATUS系统句柄来捕获错误:
MESSAGE ERROR-STATUS:ERROR SKIP ERROR-STATUS:GET-MESSAGE(1) VIEW-AS ALERT-BOX.
应该设置该错误状态,直到使用NO-ERROR执行其他语句。您还可以使用AVAILABLE(客户)查看是否找到了记录:
MESSAGE AVAILABLE(Customer) VIEW-AS ALERT-BOX.