Sdílet prostřednictvím


Ladění výjimek ASP.NET

Výjimky ladění jsou důležitou součástí vývoje robustní ASP.NET aplikace. Obecné informace o ladění výjimek najdete v tématu Správa výjimek pomocí ladicího programu.

Chcete-li ladit neošetřené ASP.NET výjimky, je nutné zajistit, aby se ladicí program zastavil pro ně. Modul runtime ASP.NET má obslužnou rutinu výjimky nejvyšší úrovně. Ladicí program proto ve výchozím nastavení nikdy nezalomí neošetřené výjimky. Chcete-li rozdělit do ladicího programu při vyvolání výjimky, je nutné v dialogovém okně Výjimky vybrat možnost Přerušit při vyvolání nastavení této konkrétní výjimky.

Pokud jste povolili pouze můj kód, přerušte při vyvolání , že ladicí program přeruší okamžitě, pokud dojde k výjimce v metodě .NET nebo jiném systémovém kódu. Místo toho bude provádění pokračovat, dokud ladicí program nenarazí na nesystémový kód a pak se přeruší. V důsledku toho nemusíte procházet systémový kód, když dojde k výjimce.

Jen můj kód vám poskytne další možnost, která může být užitečná: Pokračovat při neošetřeném v uživatelském kódu. Pokud toto nastavení zakážete pro výjimku, ladicí program přeruší provádění v uživatelském kódu, ale pouze v případě, že výjimka není zachycena a zpracována uživatelským kódem. Toto nastavení neguje účinek obslužné rutiny výjimky nejvyšší úrovně ASP.NET, protože tato obslužná rutina je v neuživatelovém kódu.

Povolení ladění výjimek ASP.NET pomocí nástroje Just My Code

  1. V nabídce Ladění klepněte na tlačítko Nastavení výjimky systému Windows>.

    Zobrazí se dialogové okno Výjimky .

  2. V části Výjimky modulu CLR (Common Language Runtime Exceptions) vyberte řádek pro výjimku, kterou chcete po vyvolání přerušit.

  3. Pokud chcete zakázat možnost Pokračovat při neošetřeném v uživatelském kódu, klikněte pravým tlačítkem myši na řádek a zrušte výběr možnosti, pokud už je vybraná.

    Pokud chcete použít neošetřené nastavení uživatele, musí být povolený jenom můj kód .

Použití osvědčených postupů pro zpracování výjimek ASP.NET

  • Umístěte try ... catch bloky kolem kódu, který může vyvolat výjimky, které můžete očekávat a vědět, jak zpracovat. Pokud například aplikace volá webovou službu XML nebo přímo na SQL Server, měl by být tento kód v pokusu ... zachytávání bloků, protože může dojít k mnoha výjimkám.