Share via


ASP.NET uitzonderingen debuggen

Het debuggen van uitzonderingen is een belangrijk onderdeel van het ontwikkelen van een robuuste ASP.NET-toepassing. Algemene informatie over het opsporen van fouten in uitzonderingen vindt u bij Uitzonderingen beheren met het foutopsporingsprogramma.

Als u fouten wilt opsporen in niet-verwerkte ASP.NET uitzonderingen, moet u ervoor zorgen dat het foutopsporingsprogramma ervoor stopt. De ASP.NET runtime heeft een uitzonderingshandler op het hoogste niveau. Daarom staat de debugger standaard niet stil bij niet-verwerkte uitzonderingen. Als u het foutopsporingsprogramma wilt pauzeren wanneer er een uitzondering wordt gegenereerd, moet u de instelling Pauzeren bij genereren voor die specifieke uitzondering selecteren in het dialoogvenster Uitzonderingen.

Als u Just My Code hebt ingeschakeld, onderbreekt het foutopsporingsprogramma niet onmiddellijk wanneer er een uitzondering wordt gegenereerd in een .NET-methode of andere systeemcode. In plaats daarvan gaat de uitvoering door totdat de debugger niet-systeem gerelateerde code tegenkomt, waarna deze wordt onderbroken. Als gevolg hiervan hoeft u de systeemcode niet te doorlopen wanneer er een uitzondering optreedt.

Alleen Mijn Code biedt u een andere optie die nuttig kan zijn: Doorgaan indien niet afgehandeld in gebruikerscode. Als u deze instelling uitschakelt voor een uitzondering, wordt de uitvoering van het foutopsporingsprogramma in de gebruikerscode verbroken, maar alleen als de uitzondering niet wordt opgevangen en verwerkt door de gebruikerscode. Deze instelling neutraliseert het effect van de ASP.NET uitzonderingshandler op het hoogste niveau van de ASP.NET, aangezien die handler zich in niet-gebruikerscode bevindt.

Foutopsporing van ASP.NET uitzonderingen met Just My Code inschakelen

  1. Klik in het menu Foutopsporing op Windows>Uitzonderingsinstellingen.

    Het dialoogvenster Uitzonderingen wordt weergegeven.

  2. Selecteer onder Common Language Runtime-uitzonderingen de rij voor de uitzondering die u wilt verbreken wanneer deze wordt gegenereerd.

  3. Als u Doorgaan met niet-afgehandeld in Gebruikerscode wilt uitschakelen, klikt u met de rechtermuisknop op de rij en deselecteert u de optie als deze al is geselecteerd.

    Als u de instelling Doorgaan bij niet-verwerkte gebruikerscode wilt gebruiken, moet Just My Code zijn ingeschakeld.

    Als u Doorgaan wanneer niet afgehandeld in Gebruikerscode wilt inschakelen, klikt u met de rechtermuisknop op de rij, selecteert u de optie om door te gaan en deselecteert u vervolgens de rij voor de uitzondering.

Aanbevolen procedures gebruiken voor ASP.NET afhandeling van uitzonderingen

  • Plaats try ... catch blokken rond code die uitzonderingen kan genereren die u kunt verwachten en weten hoe u moet omgaan. Als de toepassing bijvoorbeeld een XML-webservice of rechtstreeks een SQL Server aanroept, moet die code zich in try ... catch-blokken bevinden omdat er talloze uitzonderingen kunnen optreden.