関数で、返されるはずのクラスのパラメーターの入力を開始するにはどうすればよいですか?例外が発生した場合は、代わりにエラークラスを返しますか?
public **** function()
{
try
{
Articles articles = new Articles();
articles.articleid = 234;
articles.articlename = "Milk";
articles.deleted = 0;
//continue fill Articles
//and an exception occurs
return articles;
}
catch (Exception e)
{
Errors Error = new Errors();
Error.exceptionmessage = e.Message;
Error.exceptionname = e.ToString();
Error.httpcode = 500;
return Error;
}
}
これは可能で、良いことですか?または、null 値の割り当てで多くの情報を返す場合でも、すべての戻りクラスをエラー クラスで拡張する必要があります。できるだけ少ないデータを送信したいのですが、関数が失敗した場合はエラーを送り返します。
アップデート
私の状況について十分な情報を提供できなくて申し訳ありません。これは Web サービスで使用したい機能です。
[OperationContract]
[WebGet(
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
**** Function();
だから私は例外をスローできるとは思わない。すべてが順調であれば記事のクラスを返したいので、データを JSON に変換する必要はありませんが、何か問題が発生した場合は、http コード 500 内部サーバー エラーをクライアントに送信したいと考えています。私はまだすべての回答を読んでいませんが、何かがうまくいかなかったときにクライアントができるように、エラークラスを他のすべての戻り値クラスに含める必要があると思いますか?