>>934
例外にするか戻り値にするかはエラーの種類や使ってる言語、レイヤー間のプロセス境界なんかに依存するので一概にどちらかにすべきというものでもなくて、状況にあわせて設計する必要がある

一般的には戻り値のほうが汎用的
Result<T, E>的なのを使ってシグニチャで判断できるようにするか
hasError/errorsのような共通ルールを持つbase classから処理ごとにXXXResultクラスを作って使う

ただドメインレイヤーで例外を投げたとしても
それを例外としてUIレイヤーまで伝播させなければいけないわけでもないし
逆に戻り値を使ったからといって戻り値のまま伝播させないといけないわけでもない