Ich verwende Reflection, um Objekte aus anderen Assemblies zu instanziieren. Die Objekte in diesen Assemblies können im Laufe ihres Prozesses andere Threads starten. Der Autor dieser Assembly kann Ausnahmen auf diesen Worker-Threads nicht korrekt behandeln. Das Problem ist, dass, wenn sie unbehandelt zurückkehren, die gesamte Anwendung aufhört, ausgeführt zu werden und AppDomain.CurrentDomain.UnhandledException
ausgelöst wird.
Ich habe versucht, meinen Methodenaufrufer einfach in eine try...catch
aber das scheint die Ausnahme nicht abzufangen (macht Sinn, da der nächste erzeugte Worker-Thread der eigentliche fehlerhafte Thread ist)
Gibt es eine Möglichkeit, mit dieser Situation umzugehen, ohne den Entwicklern einfach vorzuschreiben, alle Ausnahmen korrekt zu behandeln?
Die Idee wäre ähnlich wie bei den Windows-Diensten. Nur weil eine einzelne Anwendung ausfällt, bedeutet das nicht, dass der Windows Service Host ebenfalls abstürzen muss.
Was übersehe ich hier?