Debugowanie wyjątków ASP.NET

Debugowanie wyjątków jest ważną częścią tworzenia niezawodnej aplikacji ASP.NET. Ogólne informacje na temat debugowania wyjątków można znaleźć w artykule Managing Exceptions with the Debugger (Zarządzanie wyjątkami za pomocą debugera).

Aby debugować nieobsługiwane wyjątki ASP.NET, upewnij się, że debuger zatrzymuje się dla nich. Środowisko uruchomieniowe ASP.NET ma procedurę obsługi wyjątków najwyższego poziomu. W związku z tym debuger nigdy nie przerywa obsługi nieobsługiwane wyjątki domyślnie. Aby włamać się do debugera po wystąpieniu wyjątku, należy wybrać opcję Przerwij w przypadku wystąpienia tego konkretnego wyjątku w oknie dialogowym Wyjątki .

Jeśli włączono opcję Tylko mój kod, przerwij, gdy zgłaszany nie powoduje natychmiastowego przerwania debugera, jeśli wyjątek zostanie zgłoszony w metodzie .NET lub innym kodzie systemowym. Zamiast tego wykonywanie będzie kontynuowane, dopóki debuger nie osiągnie kodu niesystemowego, a następnie ulegnie awarii. W związku z tym nie trzeba przechodzić przez kod systemowy, gdy wystąpi wyjątek.

Po prostu mój kod daje inną opcję, która może być przydatna: Kontynuuj, gdy nieobsługiwane w kodzie użytkownika. Jeśli to ustawienie zostanie wyłączone dla wyjątku, debuger przerwie wykonywanie w kodzie użytkownika, ale tylko wtedy, gdy wyjątek nie zostanie przechwycony i obsłużony przez kod użytkownika. To ustawienie neguje efekt programu obsługi wyjątków najwyższego poziomu ASP.NET, ponieważ ta procedura obsługi jest w kodzie użytkownika.

Aby włączyć debugowanie wyjątków ASP.NET za pomocą funkcji Just My Code

  1. W menu Debuguj kliknij pozycję Ustawienia wyjątków systemu Windows>.

    Zostanie wyświetlone okno dialogowe Wyjątki .

  2. W obszarze Wyjątki środowiska uruchomieniowego języka wspólnego wybierz wiersz dla wyjątku, który chcesz przerwać po jego wystąpieniu.

  3. Jeśli chcesz wyłączyć opcję Kontynuuj po nieobsługiwaniu w kodzie użytkownika, kliknij prawym przyciskiem myszy wiersz i usuń zaznaczenie opcji, jeśli jest już zaznaczona.

    Aby użyć ustawienia Nieobsługiwane przez użytkownika, należy włączyć opcję Tylko mój kod.

Aby użyć najlepszych rozwiązań dotyczących obsługi wyjątków ASP.NET

  • Umieść try ... catch bloki wokół kodu, który może zgłaszać wyjątki, które można przewidzieć i wiedzieć, jak obsługiwać. Jeśli na przykład aplikacja wykonuje wywołania usługi sieci Web XML lub bezpośrednio do programu SQL Server, ten kod powinien być w próbie ... bloki catch , ponieważ istnieje wiele wyjątków, które mogą wystąpić.