Proper way to show users error info in the UI for addons
Found this an answer via TynkaTopi on the #blendercoders IRC channel:

Blender operators have a method called report() which will perform the functions noted above. You only need to pass it a TYPE (an enum, see the docs) and a MESSAGE (a string explaining the error). It flashes a popup dialog with a warning icon/message at the mouse location, prints the error message in the info header, and adds it to a text datablock containing recent reports, apparently.

I also made sure to return {'CANCELLED'} from my operator after reporting when the error occurred.

API:
https://docs.blender.org/api/current/bpy.types.Operator.html?highlight=report#bpy.types.Operator.report

Example:

self.report({"WARNING"}, "Something isn't right")
# return {"CANCELLED"}