I throw errors in my formulas using the _Create_Error_Message(text) formula.
In a formula, it flags it as broken and shows the message on hover.
In a button, it pops up the error message at the bottom of the screen.
But that is VERY limited.
And your other points are valid - its an area that needs improvement overall.