Pobieranie informacji o Exception na podstawie HResult

0

Witam wszystkich.
Tworzę własny MessageBox wykorzystywany przy wyjątkach, ponieważ chcę mieć możliwość wysyłania błędów wygenerowanych przez program mailem.
MessageBox ma być uniwersalny dla całej aplikacji z tego powodu chciałbym przekazywać do niego HResult przechwytywany z Exception.
Niestety nie znalazłęm nigdzie informacji jak na podstawie HResult pobrać np. StackTrace.
Może ktoś już spotkał się z podobnym problemem?

2

Dlaczego nie przekażesz wyjątku?

Co do pytania — z HResult nie da się pobrać stosu, to są dwie różne rzeczy.

0

Ponieważ ma to być uniwersalny form dla całej aplikacji w przypadku wystąpienia wyjątku ma być mozliwość wysłania mailem takiego stringu.

string Error = string.Format("HResult: {0}\r\n " +
                             "Message: {1}\r\n " +
                             "Source: {2}\r\n " +
                             "StackTrace: {3}\r\n" +
                             "HelpLink: {4}", ex.HResult.ToString(), ex.Message, ex.Source, ex.StackTrace.ToString(), ex.HelpLink);

Z tego właśnie powodu chciałem przesyłać HResult a już w CustomMsgBox pobierać dane z Exception.

1

Brzmi troche jak pytanie XY. Bardzo niepokojące jest to że piszesz jednocześnie o MessageBox i o wysyłce błędu e-mailem. Napisz co dokladnie chcesz zrobić bo mozliwe ze wynajdujesz koło na nowo.

0

Tworzę własny MessageBox gdzie uzytkownicy moga przesłać raport z błędem który im się pojawił.
Chciałbym aby był uniwersalny dla całego projektu.
Dla tego zadałem pytanie czy jest możliwość aby przy pomocy zmiennej HResult wyciągnąć dane o Exception.

1

Nie możesz stworzyć funkcji, która będzie uruchamiać twój MesaageBox i do niej jawnie przekazywać cały obiekt Exception, który wyskoczył? Z samego hResult nie uzyskasz takich informacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1