SR11 introduces two changes to error handling that you should be aware of.
The first change is that syntax errors marked with the “red squiggle” in the expression editor will always generate a status message of “Errors in expression”. This was not the case prior to SR11.
In SR10 and prior there could be a difference of opinion between the red squiggles and the status message. Valid syntax such as this–
in SR10 could be marked with squiggles but the “Expression OK” message would reassure us that this was just a syntax checker bug.
In SR11 the status message will always be “Errors in expression” when a red squiggle appears — even when the syntax is valid.
This applies as well to the very common squiggles that appear when using set expressions with variables. Again, this is a functional expression:
So now the squiggles and the status message are in alignment. I’m not sure this is a good thing. We can no longer say “Ignore the squiggles. If it says ‘Expression OK’ then it’s fine”. If this change sticks then we will have to get more aggressive about reporting and fixing syntax checker bugs.
The second Error Handling change you should be aware of is documented in the SR11 release notes. Charts that contain invalid expressions will now fail to render. In SR10 they assumed some sort of default and the chart was rendered. This new behavior applies to chart expressions, dimension attributes and expression attributes such as Text Color. If any of those expressions are in error, you will get various error messages in the chart frame. I don’t understand the pattern of the messages yet.
The good news is that this behavior is not implemented in Server until you explicitly turn it on with a Server Settings.ini switch. By default, Server charts will continue to render as they did in SR10. When you turn the setting on, the Server will log the “bad charts” to the event log. Unfortunately, the logging does not happen until you activate the new behavior. This means your logs and your users see the problem at the same time. Pity we can’t log before we turn the option on.
So what’s the combination of these two changes? If the syntax checker declares a perfectly good expression to be bad will the chart render? Yes, it will render. The syntax checker’s opinion and the actual evaluation of the expression are not connected.
I’m still trying to understand how these changes will affect my customers and I am holding off recommending SR11 until I can experience a few upgrades. If you have some experience good or bad with these changes please leave a comment.