Hopelijk helpt deze vriendelijke gids je als je insecten opmerkt tijdens het gebruik van onbewerkte foutopsporingstools.
Goedgekeurd: Fortect
- enkele minuten om te lezen.
Een uitzondering op deze regel is het wijzen op een belangrijke specifieke fout die optreedt wanneer een programma werkelijk gelijktijdig draait. U kunt de debugger vertellen welke uitzonderingen of reeksen uitzonderingen waarschijnlijk moeten worden onderbroken en ook waar de debugger moet worden onderbroken (dit is een onderbreking in de debugger). Als een debugger doodgaat, zal het je laten zien waar het is gegenereerduitzondering. Je kunt ook degradaties verwijderen of ontvangen. Met de oplossing geopend in Visual Studio, gebruikt u> Debug-venster> Uitzonderingsopties om het venster Uitzonderingsopties te openen.
Zorg ervoor dat je handlers genezen als reactie op veel belangrijke uitzonderingen. Als je gewend bent om exception-handlers toe te voegen, zie Bugs repareren door betere C#-code te schrijven . Ook hoe u een foutloze debugger instelt die die uitvoering altijd pauzeert wanneer er zonder twijfel een uitzondering wordt gegenereerd.
Als er een uitzondering optreedt, schrijft een debugger een geschikt uitzonderingsbericht naar het resultatenvenster. Het kan de uitvoering van de volgende containers afbreken als:
- Een uitzondering wordt weggegooid en daadwerkelijk afgehandeld.
- De debugger is ontworpen om de uitvoering te pauzeren totdat de handler is gelabeld.
- U hebt Just My And-Code geconfigureerd, de debugger is geoptimaliseerd om alle uitzonderingen te negeren die niet zijn verwerkt in aangepaste codering.
Vertel de debugger om te pauzeren wanneer zich een uitzondering voordoet
Waar vind ik het onverwerkte uitzonderingsbericht?
Deze vorm van fout verschijnt meestal in het Microsoft .NET Framework-venster, dus het verschijnt meestal wanneer iemand deze computer aanzet. Hier is de verzadigde context van het foutbericht: “Er is een onverwerkt verschil opgetreden in uw verzoek. Als iemand de knop Volgende vergrendelt, zal de toepassing deze fout zeker vergeten en proberen door te gaan.
De debugger stopt wanneer andexceptions. U kunt ook naar de uitzondering kijken voordat u de handler heel vaak belt.
Vouw in het venster Uitzonderingen (Debug> Windows> Uitzonderingsinstellingen) het grootste deel van de node voor 1 uitzonderingscategorie uit, zoals CLR Exceptions. Onderzoek vervolgens dit vak voor een specifieke uitzondering alleen voor deze categorie, zoals System.AccessViolationException. De kans is groot dat je ook een hele categorie kiest in termen van uitzonderingen.
Als u een uitzondering selecteert in het venster Uitzonderingsopties, stopt de debugger tijdelijk elke keer dat er een uitzondering wordt gegenereerd, ongeacht hoe deze wordt afgehandeld. De uitzondering is tegenwoordig bekend als de eerste kans uitzondering. Voor onderzoek, hier zijn enkele van de scripts:
-
Hoe schakel ik onverwerkte uitzondering uit?
Na de C # console-toepassing, gooit momenteel de Main-methode een AccessViolationException in de nieuwste
try / catch
blok.Hoe breek ik een uitzondering wanneer Visual Studio?
statische nulstelling Hoofd (regel [] argumenten) Poging Gooi een nieuwe AccessViolationException (); Console.WriteLine ("hier"); netto (uitzondering e) Console.WriteLine ("Uitzondering aangetroffen"); Console.WriteLine ("Tot ziens");
Als je vervolgens AccessViolationException hebt aangevinkt in de uitzonderingsparameters, kan de uitvoering worden afgebroken bij het
throw
-gedeelte van de regel als je deze wet in de debugger uitvoert. Op dit punt gaat u verder met de uitvoering. Uiteindelijk moet de console de volgende regels weergeven:Uitzondering
gevangenTot ziens
helaas zal waarschijnlijk niet de hele regel
hier
worden weergegeven. -
Is een bepaalde ” doorgaan indien onverwerkt ” optie uitgeschakeld aanwezig in Visual Studio?
Het effect hangt af van de uitsluitingssets, met name de verstandige keuze “Doorgaan indien niet verwerkt”, die standaard is uitgeschakeld voor de meeste weglatingen, inclusief “Uitzondering”. Daarom is het gedrag correct en zal de Visual Studio-documentatie er dus mee overeenkomen.
De C#-consoletoepassing verwijst naar een bibliotheekschool met klasse a, die de methoden voor stap 2 bevat. Eén methode maakt een uitzondering op deze regel, en de tweede methode roept dezelfde uitzondering op, maar is niet verantwoordelijk voor wie.
openbare klasse Class1 openbaar vermijd ThrowHandledException () Poging Gooi een nieuwe AccessViolationException (); zie (Access ViolationException ave) Console.WriteLine ("uitzondering gevangen" + ave.Message); gedeelde openbare ongeldige ThrowUnhandledException () een nieuwe uitzondering opnemen AccessViolationException ();
Dit is de speciale Main ()-methode van het ECU-pakket:
statische leegte Main (string [] args) Klasse1 klasse1 = nieuwe klasse1 (); class1.ThrowHandledException (); class1.ThrowUnhandledException ();
Als AccessViolationException is opgenomen in de parameters die door de uitzondering zijn gemaakt, wordt de uitvoering permanent afgebroken in de regel
throw
in ThrowHandledException () en ThrowUnhandledException () als u het uitvoert maar in de foutopsporingscode.
Goedgekeurd: Fortect
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen.
Om de differentiële instellingen volledig terug te zetten naar de standaardwaarden, klikt u op onze knop “Lijst herstellen naar standaardtemperaturen”:
Vertel de foutopsporing om door te gaan met onverwerkte uitzonderingen
Als iemand .NET- of JavaScript-standaarden debugt terwijl hij My just code heeft, kun je een debugger opgeven om bijna geen omissies te doorbreken die niet worden behandeld in de gebruikerswetgeving, maar worden doorgegeven aan andere autoriteiten om positief zaken mee te doen.
p>
-
Open in de conceptuitzonderingsinstellingen het snelmenu door met de rechtermuisknop op het eigenlijke kolomlabel te klikken en Kolommen weergeven> Meer acties te kiezen. (Als je in de buurt komt om terug te keren naar Just Code, zal deze eenmalige opdracht misschien niet verschijnen.) De derde kolom is getiteld Aanvullende acties om met succes weer te geven.
Als er één uitzondering is die zegt “Doorgaan” als u een goede onbeheerde gebruiker bent in uw code in deze volgorde, zal de debugger doorgaan als dat elke uitzondering is Het lezen wordt niet volledig afgehandeld door een soort gebruiker in uw code, maar extern behandeld.
-
Als u deze instelling wilt wijzigen voor een eenvoudige uitzondering, selecteert u de uitzondering, klikt u met de rechtermuisknop om het hoofdcontextmenu weer te geven en selecteert u Doorgaan als de douanewetten dit niet aankunnen. U kunt ook de instelling voor alle uitzonderingen aanpassen, zoals alle runtime-uitzonderingen voor veelgebruikte talen).
ASP.NET Web Handlers behandelen bijvoorbeeld uitzonderingen en veranderen ze in een geweldige HTTP 500-status ( Exception Handling voor ASP.NET Web API’s ), wat u misschien niet helpt om de koop te vinden. anders te definiëren. In het volgende voorbeeld roept het hele gebruikerssysteem String to.Format ()
aan, wat een FormatException genereert. De uitvoering wordt als volgt onderbroken:
Uitzonderingen toevoegen en verwijderen
U kunt uitzonderingen instellen en verwijderen. Om één type geassocieerde uitsluiting uit elke categorie te verwijderen, selecteert u de uitsluiting en selecteert u ook die specifieke uitsluiting met behulp van de functie hotlink (minteken) op de DeleteAdd uitsluitingsparameters . U kunt of kunt met de rechtermuisknop op de uitzondering klikken en bovendien Verwijderen selecteren in het stapsgewijze menu. Het wissen van een uitzondering heeft hetzelfde effect als het uitschakelen van een bepaalde uitzondering, dat wil zeggen, het voorkomt dat de debugger crasht bij de tweede run.
-
Selecteer een van de degradaties in het venster Uitzonderingsinstellingen (voor categorieën eigenlijk als Common Language Runtime).
-
Klik vaak op de knop Diversen toevoegen aan geselecteerde categorie (plusteken).
-
Voer een uitzonderingsnaam in voor deze regel (bijvoorbeeld System.UriTemplateMatchException).
De uitzondering wordt toegevoegd aan een recente alfabetische lijst (in volgorde) en eenvoudig te controleren.
Als u een uitzondering wilt toevoegen aan GPU-geheugenuitzonderingen met recht op invoer, JavaScript-runtime-uitzonderingen of Win32-uitzonderingslessen, voegt u een foutcode en beschrijving toe.
Hoe kom ik verwijderen voor onverwerkte uitzondering in Visual Studio?
Uitzonderingsinstellingen zijn waarschijnlijk zeker opgeslagen in het oplossingsbestand, dus de bedrijven passen een specifieke oplossing toe. U kunt regelspecifieke uitzonderingen van deze instellingen nooit voor alle oplossingen opnieuw gebruiken. Nu worden alleen de groeperingen opgeslagen. ovale uitzonderingen; gereduceerde uitzonderingen niet. U kunt een uitzondering toevoegen, de oplossing sluiten en opnieuw openen, en uw huidige uitzondering blijft daar. Als u echter de effectieve uitzondering verwijdert en de oplossing sluit / heropent, verschijnen de andere opnieuw.
Het venster Uitzonderingsinstellingen ondersteunt de generieke uitzonderingstypen in Visual Basic in C #, maar niet daar. Om de MyNamespace like.GenericException
voorwaarden te schenden, moet u een uitzondering toevoegen die beschikbaar is wanneer MyNamespace.GenericException`1. Met andere woorden, als je een leuke uitzondering maakt, zoals code:
publiceert dit type klasse GenericException : Exception manifest GenericException (): base ("Dit is een gemakkelijke uitzondering.")
Versnel de prestaties van uw computer nu met deze eenvoudige download.