Nedávno jsem měl pohovor s otázkou, jak získat výjimky ve vláknech, a odpověděl jsem špatně. Výjimky mám také, když píšu try catch mimo vlákno, které jsem zmínil.
V minulosti, když jsem dělal vývoj softwaru pro Winform, často jsem používal vlákna a existovaly dva způsoby, jak získat informace o výjimkách:
- Do vlákna napíšete try catch a zavoláte delegáta, aby vygeneroval informace o výjimce do textového pole softwarového logu.
- Napiš try catch do vlákna, zavolej log framework a zapisuj do souboru.
Také jsem mimo vlákno nenapsal trycatch, tak proč jsem odpověděl špatně?
Testovací kód:
Mimo vlákno nebyly získány žádné informace o výjimce a hlavní vlákno zaniklo, bez vytištěného "OK".
Co mám dělat, pokud chci získat informace o výjimce vlákna přímo v hlavním vlákně? Můžete použít eventy, které jsou vlastně delegáti.
Návod na akci:
Kód je následující:
(Konec)
|