Laravel5を使った開発でinterfaceを利用したリポジトリパターンを用いようと思っています。

そこでEloquentのsave()findOrFail()等が投げる例外をドメイン層やアプリケーション層で処理すると、その部分がインフラストラクチャ層に依存してしまう(リポジトリの実装を入れ替えた際に上のレイヤーで問題が起こる)と思うのですが、インフラストラクチャ層で一度例外をキャッチし、独自に作成した例外を投げ直すなどの処理を行う方がよいのでしょうか。