Is there way for shortcode to signal error if called with incorrect parameters?
You can use errorf (fails build) or warnf (prints WARNING).
errorf
warnf
See example here: