Udostępnij za pośrednictwem


Sprawdzanie wyjątku przy użyciu pomocnika wyjątków

Radzenie sobie z wyjątkami jest typowym problemem, bez względu na technologię lub poziom wiedzy. Może to być frustrujące doświadczenie próbując zrozumieć, dlaczego wyjątki powodują problemy w twoim kodzie. Podczas debugowania wyjątku w programie Visual Studio chcemy zmniejszyć tę frustrację, udostępniając odpowiednie informacje o wyjątkach, aby ułatwić szybsze debugowanie problemu.

Narzędzie Pomocy przy Wyjątkach

Wstrzymywanie wyjątku

Gdy debuger zatrzymuje się na wyjątku, ikona błędu związanego z wyjątkiem pojawia się po prawej stronie tego wiersza kodu. Pomoc do obsługi wyjątków niemodalnych pojawi się w pobliżu ikony wyjątku.

pomocnik wyjątku obok wiersza kodu

Sprawdzanie informacji o wyjątku

Możesz natychmiast odczytać typ wyjątku i komunikat wyjątku w Narzędziu Pomocnika Wyjątków oraz dowiedzieć się, czy wyjątek został rzucony, czy jest nieobsługiwany. Właściwości obiektu Exception można sprawdzić i wyświetlić, klikając link Wyświetl szczegóły.

Analizowanie odwołań o wartości null

Począwszy od programu Visual Studio 2017, zarówno dla kodu .NET, jak i C/C++, gdy natrafisz na NullReferenceException lub AccessViolation, zobaczysz informacje o analizie wartości null w Pomocniku wyjątków. Analiza jest wyświetlana jako tekst pod komunikatem o wyjątku. Na poniższej ilustracji informacje są wyświetlane jako "s miał wartość null".

Analiza wartości null pomocnika wyjątków

Notatka

Analiza odwołania o wartości null w kodzie zarządzanym wymaga wersji 4.6.2 platformy .NET. Analiza wartości null nie jest obecnie obsługiwana w przypadku platformy uniwersalnej systemu Windows (UWP) i innych aplikacji platformy .NET Core. Jest on dostępny tylko podczas debugowania kodu, który nie ma żadnych optymalizacji kodu just-In-Time (JIT).

Konfigurowanie ustawień wyjątków

Debugger można skonfigurować tak, aby wstrzymywał działanie, gdy zostanie zgłoszony wyjątek obecnego typu w sekcji Ustawienia wyjątków pomocnika wyjątków. Jeśli debuger jest wstrzymany przy zgłoszonym wyjątku, możesz użyć tego pola wyboru, aby wyłączyć zatrzymywanie się na tym typie wyjątku, gdy zostanie zgłoszony w przyszłości. Jeśli nie chcesz przerywać tego wyjątku po wystąpieniu tego konkretnego modułu, zaznacz pole wyboru według nazwy modułu w obszarze Z wyjątkiem sytuacji, gdy zostanie zgłoszony: w oknie ustawień wyjątku.

Sprawdzanie wyjątków wewnętrznych

Jeśli wyjątek ma jakiekolwiek wyjątki wewnętrzne (InnerException, można je wyświetlić w pomocniku wyjątków. Jeśli istnieje wiele wyjątków, możesz nawigować między nimi przy użyciu strzałek po lewej i prawej pokazanych powyżej stosu wywołań.

pomocnik wyjątku z wyjątkiem wewnętrznym

Przejrzyj ponownie wyrzucone wyjątki

W przypadkach, gdy wyjątek został thrown, Exception Helper pokazuje stos wywołań od momentu pierwszego zgłoszenia wyjątku. Jeśli wyjątek został zgłoszony wiele razy, wyświetlany jest tylko stos wywołań z oryginalnego wyjątku.

Pomocnik wyjątków z ponownym rzucaniem wyjątków

Sprawdzanie wyjątków asynchronicznych (.NET)

Począwszy od platformy .NET 9, debuger programu Visual Studio automatycznie przerywa działanie, gdy metoda asynchronicznego zadania zgłasza wyjątek w kodzie platformy .NET Framework. Ułatwia to debugowanie kodu asynchronicznego, zwłaszcza w ASP.NET, ponieważ wyjątki są często zgłaszane w granicach asynchronicznych.

zrzut ekranu pomocnika wyjątków z metodą asynchroniczną.

Wyświetlanie stosu wywołań

Począwszy od programu Visual Studio 2022 w wersji 17.3, można wyświetlić ramki stosu wyjątków w oknie stosu wywołań. W przypadku wyjątków asynchronicznych dodaje to możliwość szybkiego ładowania symboli lub lokalizowania źródeł i przechodzenia bezpośrednio do lokacji wyjątku. Ramki stosu wyjątków w oknie stosu wywołań zapewniają standardowe funkcje, takie jak automatyczna nawigacja, szybkie przełączanie się między ramkami stosu, ładowanie symboli i opcje dekompilacji, aby powrócić do kodu źródłowego, w którym zgłoszono wyjątek.

pomocnik wyjątku ze stosu wywołań

Uzyskiwanie pomocy dotyczącej sztucznej inteligencji

Jeśli masz Copilot, możesz uzyskać wsparcie AI w trakcie debugowania błędów. Wystarczy wyszukać Zapytaj Copilotzrzut ekranu przedstawiający przycisk Zapytaj Copilot. przycisk. W tych scenariuszach Copilot zna już kontekst pytań, więc nie musisz podawać kontekstu na czacie. Aby uzyskać więcej informacji, zobacz Debug with Copilot.

Udostępnianie sesji debugowania za pomocą usługi Live Share

W Pomocniku wyjątków możesz rozpocząć sesję Live Share przy użyciu linku Rozpocznij sesję Live Share.... Każdy, kto dołącza do sesji Live Share, może zobaczyć Pomocnika wyjątków wraz z innymi informacjami debugowowania.