(Currently) to check if a bvar exists without throwing an error you use $bvar(&bvar) then if the check passes use $bvar(&bvar, 1-).text to get the text
With that said, returning $null/an-empty string is more consistent with other identifiers than throwing an error; case in point: hashtables
echo -a >> $hget(nonexist, item)
hmake exists 1
echo -a >> $hget(exists, nonexist)
hfree exists