Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.
Jakob NielsenUltimately, users visit your website for its content. Everything else is just the backdrop.
Jakob Nielsen