Exception-Fenster

JK_net

Erfahrenes Mitglied
Hallo,

ich möchte gerne in meiner Anwendung die Exceptions abfangen, und in einem eigenen Formular darstellen.
Bisher benutze ich folgenden Code um Exceptions auszugeben:

Code:
try
{
...
}
catch (Exception ex)
{
throw new Exception(ex.Message + "\n\n" + ex.StackTrace.ToString() + "\n\n" + ex.Source, ex.InnerException);
}

Jetzt möchte ich aber das daraufhin erscheinende Meldungs-Fenster durch ein eigenes erstzen.
Hat jemand damit Erfahrung, und kann mir diesbezüglich weiterhelfen?

Vielen Dank im Voraus!

MfG
Jens
 

LordDeath

Erfahrenes Mitglied
Morgen

Gib doch deine Exceptions in einer MessageBox aus.

Code:
...
catch(Exception ex)
{
   MessageBox.Show(ex.ToString());
}
...

oder schreib die Meldung auf ein eigenes Formular was du dann einfach mit der Fehlermeldung öffnest.

BloodyGreetz
 

JK_net

Erfahrenes Mitglied
Ich würde mir ja gerne ein Formular basteln, wo ich (alle) Informationen aus der Exception ausgeben kann.
D.h. ich müsste sämtliche Informationen übergeben.

Ich dachte eigentlich an eine Lösung, wo ich über
Code:
throw new Exception
direkt mein Fehler-Fomular mit allen Details bekomme...

Ist dies überhaupt möglich?
 

LordDeath

Erfahrenes Mitglied
Ob das generell möglich ist weiß ich nicht.
Ich bin auch nirgends auf so etwas gestoßen.
Vielleicht hilft ja auch google?!


BloodyGreetz
 

Norbert Eder

Erfahrenes Mitglied
Ich werd in den nächsten Tagen ein Tutorial bezüglich Exceptions unter C# schreiben, denn die ganzen Gerüchte und Aussagen über Exceptions erinnern mich irgendwie an "The Neverending Story" oder an "The funny Tales Collection".
 

NRFi

Erfahrenes Mitglied
ich meine vom Prinzip her ist es doch ganz einfach.

in deinen Klassen musst du halt ein lokales Objekt haben. zb

MyErrorObj _oErrorObj;

und im Catch-Teil übergibst du dem gleich die Exception


also

catch(Exception ex)
{
_oErrorObj.Error(ex);
}

In Error(Exception ex) ziehst du dir dann die Infos, die deine Meldung erhalten soll.

Das wäre jetzt so die einfachste Variante, denk ich.

Dann kannste hatl noch in errorobj halt sowas wie logging einbauen. usw usw