Laden...

InnerExceptions in einer Schleife durchlaufen

Erstellt von fuschi vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.843 Views
F
fuschi Themenstarter:in
5 Beiträge seit 2008
vor 15 Jahren
InnerExceptions in einer Schleife durchlaufen

[EDIT=herbivore]Abgeteilt von TreeNodes Rekursionslos durchlaufen[EDIT]

Ähnlich mache ich es, um mal eben Exceptions inkl. InnerExceptions zu dumpen:

public static void ThrowExceptionsMethod()
{
    try
    {
        throw new Exception("+++ Ex Inner Inner");
    }
    catch (Exception exInnerInner)
    {
        try
        {
            throw new Exception("++  Ex Inner", exInnerInner);
        }
        catch (Exception exInner)
        {
            throw new Exception("+   Ex", exInner);
        }
    }
}

static void Main(string[] args)
{
    try
    {
        ThrowExceptionsMethod();
    }
    catch (Exception ex)
    {
        do
        {
            Console.WriteLine(ex.Message);
            ex = ex.InnerException;
        } while (ex != null);
    }
    Console.ReadLine();
}

Ausgabe:

[PRE]+   Ex
++  Ex Inner
+++ Ex Inner Inner[/PRE]

Ich wuerde es hassen ein Kind wie mich zu haben.

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo fuschi,

die InnerExceptions bilden im Vergleich zu den TreeNodes eine Liste und keinen Baum. Daher hat man keine vergleichbare Situation. Es liegt viel näher, eine Liste ohne Rekursion zu durchlaufen als einen Baum. Insofern habe ich das mal abgetrennt.

herbivore

F
fuschi Themenstarter:in
5 Beiträge seit 2008
vor 15 Jahren

Okay - hatte es spontan da hinzugefügt, um ein weiteres Beispiel zur Vermeidung von Rekursionen, sofern nützlich, aufzuzeigen.

Ich wuerde es hassen ein Kind wie mich zu haben.