2012-04-10 4 views
0

Ich habe eine GSM-Kommunikationsbaugruppe von Drittanbietern (keine Quelle) mit meiner Hauptanwendung verbunden. Eine solche Versammlung hat ein "SMS-Ereignis empfangen". Wenn ich einen Handler hinzufüge, startet die Assembly einen Thread, der gelegentlich eine System.TimeoutException auslöst (verursacht durch ein Lese-Timeout vom COM-Port).Wie wird eine System.TimeoutException abgefangen, wenn sie von einem unbekannten Thread im externen Code ausgelöst wird?

Da ich keine Kontrolle über externen Code habe und ich brauche meine Anwendung nicht in einem solchen Szenario abstürzen, wie könnte ich fangen oder, besser gesagt, die Versammlung einen bestimmten Typ von Ausnahme zu ignorieren?

Vielen Dank im Voraus, F.

Antwort

1

Sie auf die aktuelle AppDomain

nicht behandelte Ausnahme hören

Nizza Artikel: AppDomain.UnhandledException Part 1Part 2

+0

Dank @Fabske, ich nehme an, es ist nicht möglich, zu verhindern, dass die Anwendung heruntergefahren wird, z die spezifische Ausnahme zu ignorieren, oder? –

+0

Ich glaube nicht. Aber Sie können versuchen, den 3rd-Party-Code in eine neue AppDomain zu laden, und ich denke, in diesem Design wird die Anwendung nicht beendet, aber nach der Ausnahme müssen Sie die zweite AppDomain entladen und eine neu erstellen, um die 3rd-Party-Software erneut auszuführen nochmal – Fabske

Verwandte Themen