Uniwersalne łapanie wyjątków

Witam. Chciałbym w swoim programie (C#) zastosować jakiś mechanizm, który pozwoli mi w prosty sposób wyłapywać wyjątki z dowolnego miejsca w aplikacji. Program składa się z paru klas - głównie okien. Wszystkie okna są inicjalizowane za pomocą MainForm pośrednio lub nie. Inicjalizacja programu wygląda w skrócie tak: [code]static void Main(string[] args) { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); } catch(Exception e) { /*tutaj jakiś komunikat o błędzie - cokolwiek, byleby program brutalnie się nie wykrzaczał z niezrozumiałym komunikatem*/ } }[/code] Pokazane wyżej rozwiązanie oczywiście nie działa, ponieważ wyłapuje wyjątki tylko wtedy, kiedy "przechodzą" one przez konstruktor MainForm (czyli nie działa np. kiedy kliknę w źle oprogramowany button w innej formie). Czy ma ktoś jakiś pomysł? Zależy mi na tym, aby uniknąć wstawiania try...catch do każdej metody (bo w samej MainForm mam ich ok 60, a podobnych klas jest prawie 20). Dzięki za wszystkie wskazówki i pozdrawiam

Odpowiedzi: 1

Rozwiązaniem okazał się event Application.ThreadException - wywoływany zawsze, gdy pojawi się nieobsłużony wyjątek.
karambolis8
Dodano
27.07.2009 16:13:24
karambolis8
Dodano:
27.07.2009 14:11:31
Komentarzy:
1
Strona 1 / 1