Unexpected behavior of fn!displayvalue() in combination with fn!error()

I observed that if you use fn!error() in the defaultValue of the fn!displayvalue() function, the fn!displayvalue() behaves different.
It always returns the error message, even if we have a match in the array and replacementarray
Eg:
with(
local!num: 1,

fn!displayvalue(
local!num,
{2,1,3,4},
{"Num2", "Num1", "Num3", "Num4"},
fn!error("default value should not be evaluated")
)
)

In the code snippet, as per the usual behavior of displayvalue(), the expected output is "Num1". But, instead it returns the error message - it means the default value gets evaluated even if we have a match - and it is returned. I believe the fn!error() functions behaves like a Java Exception or Error.

But, lets take another example of using fn!if() with fn!error()
if(3>2, "Correct", fn!error("Not Correct"))

This returns "Co...

OriginalPostID-236519

  Discussion posts and replies are publicly visible

Parents
  • @kondetiv, I agree with you that we can use a number as a default value. I am aware of the usual usage.
    However, I was thinking if we can throw an error if none of the values match using the fn!error() function in the default value.
    As per my observation, the behavior of displayvalue() is different with fn!error() and hence I was surprised.
Reply
  • @kondetiv, I agree with you that we can use a number as a default value. I am aware of the usual usage.
    However, I was thinking if we can throw an error if none of the values match using the fn!error() function in the default value.
    As per my observation, the behavior of displayvalue() is different with fn!error() and hence I was surprised.
Children
No Data