1

エラー処理の改善と、nLog の学習も行っています。エラー処理が何をしているかをテストするために、いくつかの「実際の」エラーを発生させたいと思っています。特に複数のレベルで、内部例外を意図的に引き起こしやすいものはありますか? たとえば、0 による除算や存在しないテーブルへの SQL クエリなどは既に実行していますが、どちらにも内部例外はありません。

4

3 に答える 3

4

n 次まで独自のネストされた例外を作成できます。

throw new Exception("1", new Exception("2", new Exception("3")));

ここに画像の説明を入力

于 2013-05-17T20:39:33.030 に答える
3

Task.Run(() => throw new Exception());たとえば、使用できます。AggregateExceptionこれは、内部例外として例外を含むをスローします。リフレクションを介して例外をスローするものを呼び出すとTargetInvocationException、実際の例外を内部例外として含む もスローされます。

を使用してXmlSerializer無効な XML ファイルを逆シリアル化すると、正しく思い出すと、通常、より深くネストされたエラー階層が生成されます。

たとえば、次のプログラムは 3 つの「レベル」の深さで例外をスローします。

public class MyClass
{
   [XmlElement("Element")]
   int Element { get; set; }

}
class Program
{
   static void Main(string[] args)
   {
      string xml = "<Element>String</Element>";
      XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
      serializer.Deserialize(new StringReader(xml));
   }
}

しかし、もちろん、最も簡単な解決策は、独自のネストされた例外をスローすることです。

于 2013-05-17T20:21:29.357 に答える
0

「XAMLParseException」を検索してください - WPF ウィンドウ コンストラクターでいくつかのエラーが発生します。たくさんの例が見つかります。

于 2013-05-17T20:22:58.353 に答える