Dodatek ArcGIS 10, nad którym pracuję, jest dość prosty - tylko kontrolka narzędzia i okno do dokowania. Zajmuję się konkretnymi wyjątkami, które, jak się spodziewam, występują u źródła i rzucają wszystko inne, ale jaka jest najlepsza praktyka obsługi tych nieoczekiwanych wyjątków w ramach dodatków?
Obecnie właśnie robię a catch (System.Exception ex)
i pokazuję to w MessageBox w każdej metodzie, która nie ma metody wyższego poziomu, w której mogłabym to obsłużyć, ale nie wydaje się to najlepszą praktyką (i oczywiście FxCop marudzi o tym).
Czy w środowisku dodatków ArcGIS 10 jest jakaś funkcja umożliwiająca podłączenie obsługi wyjątków najwyższego poziomu, na przykład do zdarzeń Application.ThreadException
lub AppDomain.UnhandledException
?
Widząc, że dodatki to tylko biblioteki klas, a nie aplikacje bez dostępu do kodu startowego aplikacji bazowej (z tego, co zbieram, te zdarzenia muszą być podłączone na bardzo wczesnym etapie procesu uruchamiania), zgaduję, że nie, ale pomyślałem Zapytałbym, czy jakikolwiek ekspert ma jakieś sugestie, jak „nieoczekiwane” wyjątki powinny być obsługiwane w dodatkach.