2010-03-02 17 views
8

Wiem, że obsługa wyjątków jest bardzo ważną rzeczą i robimy to we wszystkich naszych projektach. Głównym powodem jest rejestrowanie błędów występujących u klientów. Działa to dobrze i nie stanowi problemu.Przerwa tylko dla niektórych typów wyjątków

Ale dopóki nadal koduję i uruchamiam aplikację za pomocą Visual Studio, nie chcę w ogóle obsługiwać wyjątków. Chcę, aby debugger zatrzymał się na linii, która spowodowała awarię aplikacji, a nie w niektórych rejestratorach błędów, które napisałem. I nie chcę przekazywać wyjątków za pomocą rzutu!

Ale nadal szukam łatwego sposobu na zrobienie tego. Mógłbym napisać niezliczoną ilość instrukcji na temat try/catch, ale to nie jest to, co chcę zrobić. Czy istnieje inny sposób radzenia sobie z tym problemem?

+0

Dlaczego nie można kodować za pomocą istniejących wyjątków? – JonH

+0

@ JonH - Prawdopodobnie wystąpił problem z wydajnością. Obsługa wyjątków jest wygodna i wszechstronna, ale ma swoją cenę. – Hardryv

Odpowiedz

16

(1) Otwórz Visual Studio z projektu
(2) Debug Menu wyjątkami
(3) W odniesieniu do typów wyjątków Ci zależy zaznaczyć pole rzucony.

Spowoduje to, że za każdym razem, gdy zostanie zgłoszony wyjątek od wybranych typów, automatycznie się do niego włamie. Jeśli chcesz wrócić do zwykłego debugowania, wróć do tego samego okna Wyjątki i kliknij "Zresetuj wszystko", a powrócisz do ustawień domyślnych.

+0

Przycisk Znajdź ... jest również bardzo dobry, nawet biorąc pod uwagę częściowe dopasowanie nazwy. –

+0

Po prostu miałem problem, że nie mam kolumny "Użytkownik nieobsługiwany". Ten pomógł mi: http://stackoverflow.com/questions/4560497/exception-window-in-vs-net-2010-is-missing-the-user-unhandled-column – TweeZz

1

w VisualStudio Menu Debug-> Wyjątek Sprawdź wszystkie w kolumnie "wyrzucony". Domyślnie, Wszystkie elementy będą sprawdzane dla kolumny "Użytkownik nieobsługiwany"

W ten sposób debugger zostanie przerwany za każdym razem, gdy zostanie zgłoszony wyjątek.

Uwaga: to nie będzie częścią majątku projektu

+0

Po prostu miałem problem, który zrobiłam nie ma kolumny "Użytkownik nieobsługiwany". Ten pomógł mi: http://stackoverflow.com/questions/4560497/exception-window-in-vs-net-2010-is-missing-the-user-unhandled-column – TweeZz

0

w edytorze VS można ustawić bez narażania braekpoints od rodzaju wyjątkami codebreaks - można go ustawić za pomocą menu Debug -> wyjątku to pozwoli ci robić to, co chcesz.

1

Debugowanie> Wyjątki (Ctrl + Alt + E), zaznaczanie wyrzucania w wyjątkach Runtime Common Language, aby wyrzucić wszystkie wyjątki, lub wybierz wyjątki, które chcesz ręcznie, aby znaleźć wszystkie. Po zakończeniu debugowania naciśnij Reset All, aby przywrócić domyślne ustawienia.

Powiązane problemy