Udostępnij za pośrednictwem


Obsługa wyjątków (debugowanie)

Wyjątek stanowi anormalna sytuacja, przydarzająca się, gdy program jest uruchomiony.Wyjątki są często oznakami problemów, które wymagają debugowania.Gdy wystąpi wyjątek, debuger zapisuje komunikat o wystąpieniu wyjątku w oknie Dane wyjściowe, chyba że jest wyłączony w oknie dialogowym Ogólne, debugowanie, okno dialogowe Opcje.

Debuger może przerywać wykonywanie po wystąpieniu wyjątku lub go nie przerywać.

  • Jeśli wystąpi wyjątek niedotyczący środowiska ASP.NET i nie zostanie obsłużony, debuger zawsze przerwie wykonywanie.

  • Można polecić debugerowi, aby przerwał wykonywanie natychmiast, gdy występuje wyjątek, zanim wywoływana zostanie jakakolwiek obsługa.Aby uzyskać więcej informacji, zobacz Porady: przerwanie przy wystąpieniu wyjątku.

  • Jeśli debugujesz z funkcją Tylko mój kod, masz trzecią opcję.Można polecić debugerowi, aby przerwał wykonywanie przy każdym wyjątku, który nie jest obsługiwany przez program obsługi w kodzie użytkownika ("Mój kod").Aby uzyskać więcej informacji, zobacz Porady: przerwanie przy wyjątkach nieobsługiwanych przez użytkownika.

  • Program ASP.NET ma program obsługi wyjątków najwyższego poziomu, który obsługuje wyjątki, aby pokazać strony z błędami użytkownikom przeglądarki.Ten program obsługi wyjątków najwyższego poziomu zapobiega dostaniu się nieobsłużonego wyjątku do debugera, chyba że jest włączona opcja Tylko mój kod.Upewnij się, włączyłeś debugowanie Tylko mój kodu dla programu ASP.NET.

    Pamiętaj, że jeśli wystąpi wyjątek niedotyczący środowiska ASP.NET i nie zostanie w ogóle obsłużony, debuger zawsze przerwie wykonywanie.Ustawienie user-unhandled nie zmienia tego.

Debuger programu Visual Studio rozpoznaje następujące kategorie wyjątków:

  • Wyjątki C++

  • Wyjątki środowiska uruchomieniowego języka wspólnego (CLR)

  • Zarządzanych debugowaniem Asystentów

  • Macierzyste sprawdzanie w czasie uruchomienia

  • Wyjątki Win32

  • Wyjątki obsługi języka JavaScript

  • Wyjątki dostępu do pamięci procesora GPU

Większość wyjątków ma obsługi, które mają odpowiadać na wyjątek, jeśli występuje.Dzięki temu można odzyskać program w anormalnej sytuacji.Macierzyste sprawdzanie w czasie uruchomienia niejest obsługiwane.

W aplikacji w języku Visual Basic debuger reprezentuje wszystkie błędy jako wyjątki, nawet jeśli używasz programów obsługi błędów typu On Error.

Dla języków Visual Basic i C# debuger zawiera teraz nowe narzędzie Asystent wyjątków, które oferuje więcej informacji, gdy wystąpi wyjątek.

Następujące tematy zawierają informacje dotyczące obsługi wyjątków:

Zobacz też

Koncepcje

Zabezpieczenia debugera

Inne zasoby

Asystent wyjątków

Plany rozwoju debugera

<PAVEOVER> Porady: wykonywanie krok po kroku do funkcji Tylko mój kod