It looks like the best way to report a user-error to the user is by using self.report() of Operator types. However, what about when the operator calls a global function that needs to report a specific error? Is there any way to reach back to the calling operator and have it throw an error with a specific message?
The classic method to handle something like this would be to have the global function return some type of error index, then have the operator send a string that relates to the error type. But this creates a lot of relationship links between the operator and the functions it calls. If I later change the function, I have to also modify the operator.
Is there a simple way to pull this off? Either to access the "active" operator or to throw a global user error?