Xpages 从@Dblookup获取错误文本?

Xpages 从@Dblookup获取错误文本?,xpages,Xpages,如何从@Dblookup返回错误文本?我有类似的查找,我怀疑返回了一个错误,所以我想有一个面板,当查找错误发生时显示 我有: var dbpath = @DbLookup("","Setup","Setup","EIDBServerFilename"); var tmp = @DbLookup(dbpath,"FullName",@Name("[ABBREVIATE]" ,getComponent("inputTextEmpName").getValue()),"HRLogonID"); @If

如何从
@Dblookup
返回错误文本?我有类似的查找,我怀疑返回了一个错误,所以我想有一个面板,当查找错误发生时显示

我有:

var dbpath = @DbLookup("","Setup","Setup","EIDBServerFilename");
var tmp = @DbLookup(dbpath,"FullName",@Name("[ABBREVIATE]" ,getComponent("inputTextEmpName").getValue()),"HRLogonID");
@If(@IsError(tmp),"Error= "  + @Text(tmp),"");
但我只是看到“Error=”没有错误文本

如果我删除
@Text
,我会得到“Error=undefined”

如果是错误,如何获取错误消息


我在帮助中查找了
@IsError
@Dblookup
,但像往常一样,帮助非常可怕,甚至没有提到
@Dblookup
可能会返回错误,也没有怎么做。

SSJS中@Dblookup的错误会被内部捕获,不会返回

这是因为它是通过session.evaluate实现的,如果您在session.evaluate中执行了错误的@DbLookup,则完整的评估将失败,并且您将不会收到@DbLookup的错误消息

在@DbLookup错误的情况下,返回null,这就是您使用@IsError测试的内容:tmp为null,这就是为什么您在字符串中得到一个未定义的值

如果使用未定义的值生成@Text,则返回空字符串

希望这有帮助

斯文

编辑:

如果在evaluate语句中运行代码,则可以获得错误消息。F.e.这个

session.evaluate('lookup:=@DbLookup("";"";"X";"1";1);@if(@isError(lookup);@Text(lookup);lookup)')

将返回错误消息。

那么IBM的谁认为这是个好主意?你怎么知道dblookup失败的原因呢?我已经添加了一个想法,你可以通过它找到失败的原因。谢谢。不太理想,但看起来这是一条路要走。我做了一些类似的事情,翻译了公式,并把它写在Notes表格上。有点遗憾,我们需要求助于其中一个想法。我仍然无法理解为什么在JS@dblookup中没有提供某种错误消息。