2017-03-07 34 views
1

我的代码:sessionAsSigner评估@DbLookup错误处理工作不

var descr = new string('@Unique(@DbLookup("":"";"":"test/demo.nsf";"searchvg";"ARKD')+types[i]+('N";4))'); description = @If(@IsError(sessionAsSigner.evaluate(descr)), "no data", sessionAsSigner.evaluate(descr));

如果没有错误,变量的描述将得到查找的值。 当查找的数据不返回值,变量描述并不得到值“无数据”,并且我得到一个错误消息:

异常调用方法NotesSession.evaluate(串)空

+0

将@IsError检查公式您评估里面。 –

+0

我试过了:var descr = new String('@ If(@IsError(@Unique(@DbLookup(“”:“”;“”:“test/demo.nsf”;“searchvg”;“ARKD')+ types (@DbLookup(“”:“”;“”:“test/demo.nsf”;“searchvg”;“ARKD”)[i] +('N“; 4)))),”no data“ )+ types [i] +('N“; 4)');但是这给出了相同的结果...... –

+0

')+ types [i] +('should be'+ types [i] +' – teleman

回答

1

试试这个:

var descr = 'tmp := @Unique(@DbLookup("":""; "":"test/demo.nsf"; "searchvg"; "ARKD' + types[i] + 'N"; 4)); @If(@IsError(tmp); ""; tmp)'; 

description = sessionAsSigner.evaluate(descr); 
return description ? description : "No data";