私はUI、コントローラ、ビジネスロジック、データアクセスレイヤーの各レイヤーを持つアプリケーションを持っているとしましょう。 UIはコントローラと通信し、コントローラはビジネスロジックと通信し、ビジネスロジックはデータアクセスレイヤと通信します。また、管理者がアプリケーションの問題のトラブルシューティングに使用できるエラーメッセージと例外を格納するテーブルをデータベースに格納しているとしましょう。SQL例外のログはどのレイヤで発生するのですか?
データアクセスレイヤーにSQL例外がスローされた場合(たとえば、ネットワークに問題があり、文字列が切り捨てられるなど)、例外情報によってログに記録されるまでにどれくらいの時間がかかることがありますか?理想的には、ログには、開発者が問題を追跡するのに十分な情報を提供するさまざまなレイヤーからのメッセージが含まれます。データアクセスレイヤーのSQL例外がUI全体に届いてそこにログオンするのは問題ないのですか?ローカルで捕捉され、ログに記録され、再スローされるか、別のカスタム例外でラップされるべきですか?または、データアクセス層は、問題があるかどうかを示すフラグを持つ特殊な型を返す必要があります。その場合は、例外情報も付加します。また、SQL例外/スタックトレース情報のセキュリティ上の懸念は、UIまでのものですか?
私はこれが質問のためにちょっと主観的かもしれないことを理解しますが、私は専門家の言うことについて興味があります。明確化が必要な場合は教えてください。