I'm using the MVC pattern in a .NET winform app. There are places in the Controller that can cause an exception. Rather than catching the exception and dislpaying a messagebox, which is a View responsibility, I do nothing in the Controller and let the View wrap that area in a try/catch. So far, there isn't anything that needs to be done in these exceptions except display a nice message to the user. That won't always be the case. The View than displays the exception error in a messagebox. I don't like this because the Exception classes come from the model. So, the View is reaching directly into the Model to gain access to the exceptions. But, how else can it be done and still follow the MVC pattern?
I could have the Controller handle the exception and throw a string back to the UI. How is that done though? If functionA returns void, I don't want to modify its return type just to appaise the View.