ばかげた質問のように聞こえるかもしれませんが、これに関する意見を集めたいと思います。私は、例外メッセージを処理する 2 つのフレーバーをよく目にします。最初にMessage
、ユーザーに直接表示する単純なパターンがあります。
try
{
service.Update();
}
catch (Exception ex)
{
ShowMessage(ex.Message);
}
例外を処理する別の方法は、厳密に型指定された例外を、「コントローラー」クラス (またはユーザーへの情報のプッシュを処理するコードの一部) によって解釈されるものと見なすことです。
try
{
service.Update();
}
catch (NetworkException ex)
{
ShowMessage("Network is unavailable.");
}
catch (Exception ex)
{
ShowMessage("Something went wrong with the update.");
}
最初のアプローチでは、例外によって使用されるすべてのメッセージ (呼び出しコードによってコンストラクターに渡されるか、厳密に型指定された例外内で管理されるかどうか) が「ユーザー対応」であることが必要です (クリーンで、適切に定式化され、ローカライズされているなど)。2 番目のアプローチでは、この責任をコントローラー コードに移します。さらに、すべての catch ブロックがそれらを正しく解釈できることを確認するために、非常に具体的な厳密に型指定された例外が必要になる場合があります。
では、Exception クラス (C#、Java など) の Message プロパティは誰を対象としているのでしょうか? エンドユーザーですか、それともプログラマーですか?
ありがとうございました、