error_msg and verbose.report_error are banished. In their place use
exceptions and warnings.warn. I ported all existing matplotlib
frontend and backend code, but please check your respective backends
and diff them against 0.72 to make sure you agree with what I did.
I left error_msg_gtk, error_msg_wx and friends for internal backend
use (they aren't imported or used in any other part of mpl code).
Thus proper (in my view) uses like
agg = self.switch_backends(FigureCanvasAgg)
try: agg.print_figure(filename, dpi, facecolor, edgecolor, orientation)
except IOError, msg:
error_msg_gtk('Failed to save\nError message: %s'%(msg,), self)
are still in the code base.
Hope this removes one source of confusion. If people think we need to
layer some more sophisticated error handling on top of this, I'm open.
But at least we are now starting from a clean slate with exceptions
used consistently throughout.