Ho un dubbio: quali sono le best practice per l'error handling in un'applicazione MVC?

Ad esempio, diciamo che nella mia View l'utente dragga&droppa qualcosa da qualche parte. Al momento del drop un metodo viene chiamato sul controller, che traduce la chiamata in un'azione sul model. Il model a questo punto deve essere aggiornato, riflettendo il cambiamento che l'utente ha eseguito tramite la GUI.

Nell'aggiornarsi pero' viene rilevata una condizione di errore, ad esempio l'oggetto droppato non puo' essere spostato perche' e' gia' presente un oggetto con lo stesso nome nella destinazione. A questo punto l'utente deve essere notificato dell'errore in modo che possa eseguire le necessarie azioni, tipicamente forzare l'azione comunque o cancellarla.

Se invece il cambiamento va a buon fine la View viene notificata e basta, magari usando il metodo update di Observer.

Ma qual e' il modo migliore per notificare una situazione di errore che, come in questo caso previene il model dal proseguire finche' l'utente non ha preso una decisione su che azione compiere?

Grazie