With that said, returning $null/an-empty string is more consistent with other identifiers than throwing an error; case in point: hashtables
Alas, this does vary across commands/identifiers, probably because every time I add a new feature, a different user is requesting it, and some users ask for an error to be reported in some situations, while others ask for a default value to be returned in place of an error, to make coding easier so that they do not have to check for errors.
In this case, the purpose of the error is to indicate to the scripter that they have typed a variable name incorrectly in their script. If an error wasn't reported, they may not notice it in a large script without a lot of debugging.
And we would then probably end up with the opposite bug report, ie. it should report an error.