2017-05-21 1 views
0

Ich beobachte sehr seltsame Ausnahmebehandlungsverhalten in jeder Windows 8.1 (WinRT) -Anwendung. Ich habe Standardprojekt "Leere App (Windows 8.1)" erstellt, MyException Ausnahmeklasse deklariert und es in Button-Click-Ereignishandler werfen. Ich habe Application.UnhandledException Ereignis gesendet und versucht, den Typ der empfangenen Ausnahme zu erhalten. Manchmal ist es meine Ausnahme, manchmal ist es üblich System.Exception. Manchmal Debugger zeigt es ist üblich Ausnahme aber Anwendung funktioniert so wie es wäre MyException: Strange Exception Frage ist "Wie eine WinRT-Anwendung auf die gleiche Weise wie .NET-Anwendung im Kontext von Ausnahmen arbeiten, und wie es von erklärt wird WinRT-Dokumentation? Ich möchte Ausnahmeobjekt erhalten, das ich geworfen habe ".Ungültiges WinRT-Ausnahmeverhalten

+0

Was ich fand, ist, dass UnhandledExceptionEventArgs.Exception manchmal nach dem Zugriff geändert wird. Es scheint sich geändert zu haben, nachdem ich die Eigenschaft gelesen habe: –

Antwort

0

Ich sollte UnhandledExceptionEventArgs.Exception-Wert in eine Variable speichern, bevor Sie alle Eigenschaften der UnhandledExceptionEventArgs-Klasse lesen. Danach können Sie jederzeit auf alle Informationen (wie Stack-Trace) zugreifen, indem Sie Ihren Variablenwert (nicht UnhandledExceptionEventArgs.Exception-Wert) lesen. Dieses Verhalten scheint ein Problem zu sein, also meldete ich es: https://connect.microsoft.com/VisualStudio/feedback/details/3134547/windows-rt-8-1-unhandledexceptioneventargs-issue