内部例外を保持している間にカスタム例外メッセージを表示しようとしています。ここでカスタム例外メッセージを表示する
は私のサンプルコードは次のとおりです。
public class Class1
{
public Class1()
{
try
{
throw new WebException("Initial Exception");
}
catch (WebException we)
{
throw new myException("Custom Message", we);
}
}
}
public class myException : WebException
{
public myException(string msg, WebException e) : base(msg, e) { }
}
私はこのコードを実行すると、それはデバッガでカスタムメッセージを私に示しています
は依然としてクライアントにのInnerExceptionメッセージを送信します。
私はここで間違っていますか?自分のカスタムメッセージを表示しているときに内部例外を保持するにはどうすればよいですか?
あなたのカスタムmyException情報がまだ表示されていることに注意してください。私はこれが、ASP.NETのサーバーの「機能」だと推測しています。内部の例外データを問題のソースの起点として最初に示しています。おそらく、これはサーバ側のデバッグの便宜のためだと思います。おそらく、これを制御するサーバー設定オプションがありますが、わかりません。 –
"ApplicationExceptionから派生した新しい例外クラスを定義してはならず、代わりにExceptionを使用してください。また、ApplicationExceptionを捕捉するコードを記述しないでください。 - Microsoft –
また、最後の 'Exception'' catch'ハンドラとして' throw e; 'ではなく' throw;を望むかもしれないと思います。スタック情報を保持しますが、持っているものは保持しません。 –