Laden...

Exception Abfangen, Bevor sie ausgegeben werden

Erstellt von TheBrainiac vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.207 Views
TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 17 Jahren
Exception Abfangen, Bevor sie ausgegeben werden

Hi, Community.

Folgendes Problem:

Ich möchte, dass in meiner Application alle Exceptions die möglicherweise auftreten, von einer bestimmten Methode bearbeitet werden, und dann erst ausgegeben.

In Delphi Gibt es dazu folgende Anweisung:

Application.OnException = MeineRoutine

Kann mir jemand sagen, wie das in C# unzusetzen ist?

Danke schonmal für jede Antwort,
Gruß, Christian.

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
R
156 Beiträge seit 2006
vor 17 Jahren

Sollte in etwa so funktionieren:


try
{
.
.
.
}
catch(Exception e)
{
   MeineMethode(e);
}


49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Schamese,

gibt es m.E. nicht. Nur für unbehandelte Exceptions gibt es was und unbehandelt lassen willst du die Exceptions ja nicht.

herbivore

TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 17 Jahren

Das, was Rahvin sagt, meine ich nicht, das müsste ich dann ja immer in jeder anderen Methode schreiben, aber ich will ja alle Exceptions abfangen, die vielleicht auc von einer Komponente stammen.

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
6.862 Beiträge seit 2003
vor 17 Jahren

Original von Schamese
In Delphi Gibt es dazu folgende Anweisung:

Application.OnException = MeineRoutine  

Soweit ich weiß, wird das Event in Delphi aber auch nur bei unbehandelten Exceptions geworfen, nicht bei allen.

Baka wa shinanakya naoranai.

Mein XING Profil.

TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 17 Jahren

Kann schon sein, aber gibt es so was in C#?

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
R
156 Beiträge seit 2006
vor 17 Jahren

🤔

... vielleicht verstehe ich Dich ja auch falsch aber wie oben gezeigt, kannst du alle Exceptions abfangen und weiterleiten, auch wenn sie von Komponenten kommen.

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Schamese,

nein, s.o.

herbivore

6.862 Beiträge seit 2003
vor 17 Jahren

Wie Herbivore schon sagt, für unbehandelte Exceptions gibts das Application.ThreadException Event. Damit fängst du aber nur Exceptions die nirgends anders behandelt werden, in deinem ersten post hat man des net genau rausgehört wie du das nun haben willst.

Baka wa shinanakya naoranai.

Mein XING Profil.

TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 17 Jahren

Danke.

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 17 Jahren

Hab jetzt Folgendes, funzt aber noch net so ganz:

public Form1()
        {
            InitializeComponent();
            Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(this.DoSth);
        }

        private static void DoSth(Exception e)
        {
            
        }

Was mache ich Falsch?

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 17 Jahren

hat sich erledigt:


public Form1()
        {
            InitializeComponent();
            Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(DoSth);
        }

        private static void DoSth(object sender, EventArgs e)
        {
            
        }
`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
F
171 Beiträge seit 2006
vor 17 Jahren

Hallo Schamese,

was machst du mit den Exception die in der Funktion InitializeComponent() passieren könnten und nicht behandelt werden?

Gruß falangkinjau

T
512 Beiträge seit 2006
vor 17 Jahren

Original von talla
Wie Herbivore schon sagt, für unbehandelte Exceptions gibts das Application.ThreadException Event. Damit fängst du aber nur Exceptions die nirgends anders behandelt werden, in deinem ersten post hat man des net genau rausgehört wie du das nun haben willst.

Wohlgemerkt nur Exceptions, die im GUI Thread geworfen werden. Das gibt es, weil man diverse Bedienungsfehler von Controls nicht mit try-catch abfangen kann.
Sonst sollte man AppDomain.CurrentDomain.UnhandledException benutzen.

e.f.q.

Aus Falschem folgt Beliebiges