I think the problem is that the error occurs after the execution of the catcherror( function. If the second parameter of a catcherror( function is an error, then catcherror( returns its first parameter. It’s not designed to catch any other errors.

If fgVariable doesn’t exist, or hasn’t been assigned an initial value, then catcherror( will catch that error, and return the first operand, which is a blank. The Missing operand error is because the second evaluation is trying to evaluate that blank.

You could use catcherror({""},fgVariable), and that should work if the variable is undefined, or hasn’t been initialized. It won’t work if the variable was initialized to something that isn’t a valid formula, because then there is no error in reading that variable. The error would be in trying to evaluate that invalid formula.

Here is some additional context on the Evaluate Formula Twice option. Early versions of Panorama limited the Text Display formula to 255 characters. I can’t remember if this limit continued all the way thru Panorama 6. In Panorama X, there is no limit to the formula length.

The Evaluate Formula Twice option was conceived as a hack to get around this 255 character limit. You could put a formula of any length into a variable, then use that variable with the Evaluate Formula Twice option so that a very long formula could be used. It was inconvenient but if you needed an extra long formula at least it wasn’t impossible.

Panorama X doesn’t have the 255 character limit, so this hack isn’t needed for this purpose any more. And really, the Evaluate Formula Twice option isn’t needed at all any more, because you could use the formulavalue( function to get the same effect. So instead of enabling the Evaluate Formula Twice option, Jim cook use this formula:

catcherror("",formulavalue(fgVariable))

In that case, you could set fgVariable to {""} or "", it wouldn’t really matter. The latter case causes a missing operand error, but the catcherror( function catches it.

I knew there was something like formulavalue( but couldn’t find it. Knowing Evaluate Formula Twice from past use it seemed like an easy alternative. Now I know better.