Laden...

Flexibler ErrorManager

Erstellt von userid11997 vor 11 Jahren Letzter Beitrag vor 11 Jahren 959 Views
u
userid11997 Themenstarter:in
400 Beiträge seit 2008
vor 11 Jahren
Flexibler ErrorManager

Moin,

ich habe mir überlegt einen flexiblen ErrorManager zu schreiben. Dazu möchte ich sowas machen wie


ErrorManager.Begin(SektionID);

//critical Code
...
ErrorManager.Log("some log message");

ErrorManager.End(SektionID);

Gibt es da eine Möglichkeit fehler abzufangen, die auf den Try-Catch-Block verzichtet?

2.891 Beiträge seit 2004
vor 11 Jahren

Willst du generell auf try/catch verzichten? Oder nur nur im Code, der den ErrorManager verwendet?

Wenn ja: Guck dir mal Application.SetUnhandledExceptionMode-Methode und das Application.ThreadException-Ereignis an. Siehe auch Verhindern, dass bei nicht verwalteten Exceptions Standarddialogfelder aufpoppen.

Ansonsten: Übergebe dem ErrorManager ein Delegat des Codes der Sektion. Dann muss nur dein Manager das try-catch machen (dann musst du auch nicht explizit Begin und End aufrufen).
Z.B.:


ErrorManager.Watch(SektionID,delegate
{
   //critical Code
...
});

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo Pria,

wenn das ErrorManager.Begin und ErrorManager.End ein Ersatz für try { und } sein soll, dann wirst du das wohl nur mit einem Tool wie PostSharp hinbekommen, das das try/catch nachträglich (und für den Programmierer transparent) in den IL-Code einfügt.

herbivore