DDDのようなレイヤードアーキテクチャを採用した場合、
呼び出し階層の奥深くから、UIレイヤーにエラーを通知するにはどうすればいいだろうか?
クライアントの要望で、かなり細かくエラーを通知してUIに表示させなきゃならない

例外で通知する場合、
例外クラスが多くなりすぎる、
エラーを1つしか通知できない(警告だけして続行する場合に嵌る)

戻り値(あるいはout引数)で通知する場合、
エラーに配慮したインターフェースに変えざるをえない
統一されたエラー通知形式がないので人によりやり方がバラバラ

どちらにしてもダーティにならざるをえないと思うのだが、どうすればスマートに作れるんだろうか