Czasami występują wyjątki. Kiedy to zrobią, zostaną zalogowani, a następnie przeanalizowani. Dziennik zawiera oczywiście informacje o stosie i inne globalne informacje, ale często brakuje kluczowego kontekstu. Chciałbym opisać wyjątek z tymi dodatkowymi informacjami, aby ułatwić późniejsze debugowanie.Dodawanie adnotacji Wyjątki z dodatkowymi informacjami bez ich przechwytywania
- ja nie chce
try{...}catch{... throw;}
ponieważ liczy się jako połowu wyjątek i sprawia, że trudniej debugowania (w trakcie rozwoju Chciałbym aplikację, aby zatrzymać i debugger do reagowania, gdy oryginał jest wyjątek, a nie gdy najbardziej nieprzechwycony wyjątek jest). Moduły obsługi wyjątków pierwszej szansy nie stanowią obejścia, ponieważ istnieje niestety zbyt wiele fałszywych alarmów. - Chciałbym uniknąć nadmiernego obciążenia w normalnym, nie wyjątkowym przypadku.
Czy istnieje sposób przechowywania kluczowych elementów kontekstu (np. Przetwarzana nazwa pliku itp.) W wyjątku w sposób, który nie przechwytuje wyjątku?
Interesujące. Czy myślałeś o zawijaniu 'try {' i '} catch {... throw;}' in '#if! DEBUG'. W dev dostaniesz oryginalny wyjątek z oryginalnej strony z ogłoszeniami. –
Co powiesz na użycie try {..} catch {.. throw;} pattern, ale zmień opcje Visual Studio, aby złamać się po wygenerowaniu wyjątku CLR. – Simon
Wygląda na to, że dobrze pasuje do AOP jak PostSharp, ale to nie spełnia Twoich wymagań, aby go nie złapać. Po prostu usuwa ilość kodowania, którą musisz wykonać. –