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:
Porady: przerwanie przy wyjątkach nieobsługiwanych przez użytkownika
Porady: Korzystanie z macierzystego sprawdzania w trakcie wykonywania
Korzystanie ze sprawdzania w trakcie wykonywania bez biblioteki wykonawczej języka C
-
[!UWAGA]
(Tylko Visual Basic i Visual C#) Jeśli nieprzechwycony wyjątek wystąpi przy wyłączonym Asystencie wyjątków, pseudozmienna $exception zostanie dodana do okna Lokalne.Można rozszerzyć zmienną pozorną w celu obejrzenia informacji w drodze wyjątku.
Zobacz też
Koncepcje
Inne zasoby
<PAVEOVER> Porady: wykonywanie krok po kroku do funkcji Tylko mój kod