Nedávno som mal pohovor s otázkou, ako získať výnimky z vlákien, a odpovedal som nesprávne. Tiež mám výnimky, keď napíšem try catch mimo vlákna, ktoré som spomenul.
V minulosti, keď som vyvíjal winform softvér, často som používal vlákna a existovali dva spôsoby, ako získať informácie o výnimkách:
- Napíšte try catch do vlákna a zavolajte delegáta, aby vypísal informácie o výnimke do textového poľa softvérového logu.
- Napíš try catch do vlákna, zavolaj log framework a zapisuj do súboru.
Tiež som nenapísal trycatch mimo vlákna, tak prečo som odpovedal nesprávne?
Testovací kód:
Mimo vlákna neboli získané žiadne výnimky a hlavné vlákno zaniklo, bez vytlačeného "OK".
Čo mám robiť, ak chcem získať informácie o výnimke vlákna priamo v hlavnom vlákne? Môžete použiť udalosti, ktoré sú vlastne delegátmi.
Návod na podujatie:
Kód je nasledovný:
(Koniec)
|