Förhoppningsvis hjälper den här guiden dig om du definitivt ser några buggar när du använder råfelsökningsverktyg.
Godkänd: Fortect
- 6 minuter att läsa.
Ett undantag från denna regel riktas ut på ett specifikt fel som uppstår när ett lämpligt program körs samtidigt. Du kan tala om för dessa felsökare vilka undantag eller uppsättningar av undantag som kommer att avbryta och var de ska avbryta felsökaren (detta anses alltid vara ett avbrott i felsökaren). Om felsökaren dör, kommer den att visa dig rrn vilket det genererade undantaget. Du kan också ta bort eller kanske få undantag. Med lösningen öppen i Visual Studio, använd> Debug Window> Exception Options för att skapa fönstret Exception Options.
Se till att en individs hanterare svarar på många viktiga undantag. Om du kanske är van vid att lägga till undantagshanterare, se Fixa buggar genom att skriva bättre C #-datorkod . Lär dig också hur du ställer in någon slags felfri felsökning så att körningen alltid pausas när ett effektivt undantag kastas.
Om ett undantag kräver, skriver felsökaren ett lämpligt undantagsmeddelande för att lyckas utdatafönstret. Den kan avbryta funktionen för följande behållare om:
- Ett undantag från detta kastas och hanteras faktiskt.
- Debuggern är konfigurerad att pausa körningen tills användaren anropas.
- Du har konfigurerat Just My And-Code , felsökaren är optimerad för att ta bort alla undantag som inte hanterades hela vägen genom anpassad kod.
Be felsökaren att pausa när ett undantag inträffar
Var hittar jag det obehandlade undantaget från detta meddelande?
Den här typen av fel visas vanligtvis i hela Microsoft .NET Framework-fönstret, så det uppstår vanligtvis när du slår på den här datorn. Här är vanligtvis hela sammanhanget för felmeddelandet: “Ett ohanterat undantag kastades i din begäran. Om någon klickar på knappen Nästa måste programmet definitivt ignorera detta fel och försöka tillåta dem att fortsätta.
Felsökaren stoppar när och undantag. Du kan till och med kontrollera undantaget innan du ringer tränaren väldigt ofta.
På fliken Undantag (Felsökning> Windows> Undantagsinställningar), expandera större delen av min nod för en undantagskategori, till exempel CLR-undantag. Markera sedan den här rutan för ett specifikt undantag strax efter denna kategori, till exempel System.AccessViolationException. Chansen är stor att du också kommer att välja en hel kategori hela vägen genom termer av undantag.
Om du väljer ett effektivt undantag i fönstret med undantagsalternativ, kommer felsökaren utan tvekan att pausa varje gång ett undantag kastas bakåt, oavsett hur det hanteras. Undantaget är nu känt som det första chansundantaget. Till exempel, här är några av programvarorna:
-
Hur inaktiverar jag ohanterat undantag?
Efter C #-kontrollern eller konsolapplikationen kastar Main-metoden ett AccessViolationException med en
try / catch
block.Hur bryter jag ett effektivt undantag i Visual Studio?
statisk nollställning Main (rad [] args) Prova Kasta en ny AccessViolationException (); Console.WriteLine ("här"); online (undantag e) Console.WriteLine ("Undantag påträffat"); Console.WriteLine ("Adjö");
Om du har markerat AccessViolationException i undantagsgränserna kommer exekveringen att avbrytas vid
have
-sektionen på raden om du kör den här koden i debuggern. I den här guiden kan du fortsätta med utförandet. I slutändan bör spelkonsolen visa raderna:Undantag
fångatAdjö
men inte hela
-raden
visas. -
Is alternativet ” fortsätt när det inte hanteras ” inaktiverat i Visual Studio?
Effekten beror på deras uteslutningsinställningar, i synnerhet alternativet “Fortsätt om den inte behandlas”, som är inaktiverat som standard för de flesta undantag, inklusive “Undantag”. Därför skulle beteendet vara korrekt och Visual Studio-dokumentationen kommer att samordnas med det.
Konsolapplikationen C # refererar till en pålitlig biblioteksklass med klass a, som innehåller alla metoder från steg 2. En metod ger exklusiva undantag från denna regel, och den andra processen ger upphov till samma undantag, men är inte fel för det.
public class Class1 public undvik ThrowHandledException () Prova Kasta en ny ny AccessViolationException (); catch (AccessViolationException ave) Console.WriteLine ("undantag fångat" + ave.Message); delat offentligt tomrum ThrowUnhandledException () inkludera ett nytt undantag från denna regel AccessViolationException ();
Detta är den speciella huvudmetoden () för vanligtvis ECU-applikationen:
inactive void Main (sträng [] args) Klass1 klass1 = ny klass1 (); class1.ThrowHandledException (); class1.ThrowUnhandledException ();
Om AccessViolationException ingår i parametrarna för undantaget kommer exekveringen alltid att ha avbrutits vid
throw
-raden medan ThrowHandledException () och ThrowUnhandledException () om du kontrollerar det igen i felsökningskoden.
Godkänd: Fortect
Fortect är världens mest populära och effektiva PC-reparationsverktyg. Det litar på miljontals människor för att hålla sina system igång snabbt, smidigt och felfritt. Med sitt enkla användargränssnitt och kraftfulla skanningsmotor hittar och fixar Fortect snabbt ett brett utbud av Windows-problem – från systeminstabilitet och säkerhetsproblem till minneshantering och prestandaflaskhalsar.
För att återställa differentialinställningarna till standardvärden, bestäm knappen “Återställ listan till standardtemperaturer”:
Be felsökaren att fortsätta ohanterade undantag
Om någon felsöker .NET- eller JavaScript-standarder med Min bara kod kan du ange en felsökare för att inte positivt bryta eventuella utelämnanden som inte hanteras till användarkod utan vidarebefordras till vissa myndigheter att ha affärer med.
p>
-
I inställningarna för utkastundantag öppnar du den magiska formelmenyn genom att högerklicka på den faktiska kolumnetiketten så att du väljer Visa kolumner> Fler åtgärder. (Om du skapar nära Just Code, visas detta engångskommando vanligtvis inte.) Den tredje kolumnen heter Ytterligare åtgärder att visa.
Om det är ett undantag som säger “Fortsätt” om individen är en ohanterad användare i din kod genom hela den här raden, kommer felsökningen att fortsätta om det är undantaget Läsning inte tas om hand helt av användaren i din kod , men utförs externt.
-
För att ändra den här inställningen för ett enstaka undantag, välj undantaget, högerklicka för att visa snabbmenyn och välj Fortsätt i den instans som anpassad kod inte hanterar det. Du ändrar också enkelt inställningen för alla undantag, till exempel alla vanliga körtidsundantag för språk).
Till exempel hanterar ASP.NET Web Handlers villkor och översätter dem till en fantastisk HTTP-sjuhundra statuskod ( Exception Handling for ASP.NET Web APIs ), som kanske inte hjälper dig att tro källan . att definiera olika. I det framtida exemplet gör användarsystemet ett anrop angående String to.Format ()
, vilket ger ett större FormatException . Körningen avbryts som spår:
Lägg till och ta bort undantag
Du kan lägga till och ta bort undantag. För att ta bort typen av uteslutning från varje kategori, välj jag skulle säga uteslutningen och välj den specifika uteslutningen med den här speciella funktionsknappen (minustecken) på DeleteAdd utelämnande parametrar “. Du kan eller kan högerklicka på ett undantag och välj Ta bort från steg-för-steg-menyerna. Rensa undantaget har samma effekt som det faktum att inaktivering av undantaget, det vill säga förhindrar att varje felsökare kraschar vid den andra körningen.
-
Välj ett inom undantagen i Undantagsinställningar vindskydd (för kategorier som Common Language Runtime).
-
Klicka på ändringen Lägg till diverse till vald kategori (plustecken).
-
Ange ett nytt undantagsnamn för denna regel (till exempel System.UriTemplateMatchException).
Undantaget läggs till som kommer att skapa en ny alfabetisk lista (i ordning) och omedelbart kontrolleras.
Lägg till en felkod och specifikation för att lägga till ett undantag för GPU-minnesåtkomstundantag, JavaScript-runtime-undantag eller Win32-undantagskategorier.
Hur hittar jag bli av med ohanterat undantag i Visual Studio?
Undantagsinställningar lagras definitivt i lösningsdokumentet, så de gäller för ett specifikt urval. Du kan inte återanvända regelspecifika undantag från dessa funktioner i alla lösningar. Nu är bara grupperingarna helt sparade. ovala undantag; undertryckta undantag är det inte. Du kan ibland lägga till ett undantag, stänga och öppna markeringen igen, och undantaget kommer att stanna där. Men i det fall du tar bort det effektiva undantaget och stänger och öppnar lösningen igen, kommer de andra att dyka upp igen.
Fönstret Exception Settings stöder de generiska skillnadstyperna i Visual Basic i C #, och ändå inte där. För att bryta mot villkoren för MyNamespace like.GenericException
måste du lägga till en skillnad tillgänglig som MyNamespace.GenericException`1. Med andra ord, om du verkligen skapar ett trevligt undantag som kod:
kommer med denna klass GenericException : Exception public GenericException (): base ("Detta är ditt generiska undantag.")
Snabba upp din dators prestanda nu med denna enkla nedladdning.