Kürzlich hatte ich ein Vorstellungsgespräch mit einer Frage darüber, wie man Thread-Ausnahmen bekommt, und ich habe falsch geantwortet. Ich bekomme auch Ausnahmen, indem ich außerhalb des genannten Threads schreibe.
Früher, als ich Winform Software entwickelt habe, habe ich oft Threads genutzt, und es gab zwei Möglichkeiten, Ausnahmeinformationen zu erhalten:
- Schreibe try catch im Thread und rufe den Delegaten auf, um die Ausnahmeinformationen in das Software-Log-Textfeld auszugeben.
- Schreibe einen Try Catch im Thread, rufe das Log-Framework auf und schreibe in die Datei.
Ich habe auch nicht außerhalb des Threads "Try Catch" geschrieben, warum habe ich also falsch geantwortet?
Testcode:
Außerhalb des Threads wurden keine Ausnahmeinformationen erhalten, und der Hauptthread starb, kein "OK" gedruckt.
Was soll ich tun, wenn ich die Ausnahmeinformationen des Threads im Hauptthread erhalten möchte? Du kannst Events nutzen, die tatsächlich Delegierte sind.
Tutorial zur Veranstaltung:
Der Code lautet wie folgt:
(Ende)
|