Godkänd: Fortect
Inte svaret du vill ha? Bläddra bland andra frågor som hoppas över C # Eller ställ din egen fråga.
Undantag kan mycket användas för att kontrollera undantag och inre olika för Win32Exception-härledda undantag.
catch (undantag e) var w32ex E = när som helst ett Win32 -undantag; så länge (w32ex == null) w32ex E = .InnerException som Win32Exception; om (w32ex! = noll) heltal är lika med w32ex.ErrorCode; // starta en produkt // gör nästa information
Börjar i C # 6, if ska användas i ett fångstfaktum för att säga ett villkor som måste framstå som sant för att den nya hanteraren ska kasta ett enda undantag.
titta (Win32Exception ex) var (t.ex. InnerException win32Exception) var w32ex = (Win32Exception) ex.InnerException; programvarupaketkod var = w32ex.ErrorCode;
Som i jag skulle säga kommentarerna, måste du verkligen se vilken skillnad som faktiskt kastas för att förstå exakt vad du kan göra och under vilka omständigheter en viss fångst är bättre än att få ett undantag från detta. Om oss:
show (BlahBlahException ex) // Vad ska du se till att du gör Fånga
(ex undantag) var lösenord = ex.HResult;
Aug svarade individuellt ’11 klockan 0:08
61,5 tusen Guldmärke 1717 Platinum-märke 134134 202202 bronsmärke
Du bör titta på vilka medlemmar av det kastade undantaget i olika .Message
och .InnerException
.
Jag skulle också vilja se dokumentationen för att ha InvokeMethod för att se om den kastar en bestämd mer specifik undantagsklass än en utelämnande – helt enkelt på grund av den win32Exception som föreslås via @Preet. Du kanske inte ska ta basklassen i Exception och bara titta på den.
svarade 1 augusti 2011 till 00:11
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.
8 754
Baserat på Preet Sanghas lösning täcker följande verkligen det scenario där du anstränger dig med en stor lösning som kan leda till många interna undantag.
Prova
Objekt betyder resultatet relaterat till processClass.InvokeMethod ("Create", methodArgs); ta tag i E) (Undantag // Här var jag med förväntan på att få en bra felkod. när som helst (ExceptionContainsErrorCode (e, 10004)) // Utför de eftertraktade åtgärderna
särskilt bool ExceptionContainsErrorCode (undantag e, int ErrorCode) Win32Exception winEx betyder e för Win32Exception; om möjligt (winEx! = zero && ErrorCode == winEx.ErrorCode) returnerar sant; ett faktum (e.InnerException! = null) ExceptionContainsErrorCode (e return.InnerException, ErrorCode); falsk retur;
Jag vågar inte gå för djupt in i behovet av att se till att du reser för att utvärdera och genomföra bästa hälsovårdspraxis för undantagshantering genom att begränsa varje förväntad annan typ till dess tysta block.
hjälpte till med 1 februari 2017 klockan 15:51
Jag rekommenderar att du behöver Clean Message från undantagsobjektet som under följande kod
Prova
Objekt Resultat = processClass.InvokeMethod ("Skapa", methodArgs);fånga (undantag e) // Använd Console.Write (e.Message); på en konsolapplikation // samt använda MessageBox.Show (e.Message); med WindowsForm -appen och WPF
svarade 29. jan 30 kl. 23:05
En annan metod är att få varje felkod för varje undantagsklass direkt. Till exempel:
fångst (undantag) (till exempel if.InnerException är ServiceResponseException) ServiceResponseException srex = ex.InnerException med tanke på att ServiceResponseException; ErrorCode group = srex.ErrorCode.ToString ();
löst 17 april kl. 12:26.
… …
129 33 silvermärken 44 ljusbruna märken …
…
Snabba upp din dators prestanda nu med denna enkla nedladdning.Slå av en signal, stoppa det specifika ingångsblocket och använd felsökaren för att försöka göra undantaget visuellt tilltalande och se vilka poäng du har. -Alternativt kan du få riktnummer utan felsökning och kasta typ av olika med GetType ().
Det anses vara lätt att använda ett undantag. ToString () de returnerar Det finns en rad efter hela beskrivningen av skillnaden. Du kan också dubbelkolla felsökningsdatabasen för mjukvarupaketet så att den innehåller felsökningsinformation / mer eller en mindre mängd loggar för hela programmet.
Syntaxfel uppstår under designtiden när de skapar typfel i din kod. För att illustrera, om du skriver helt som du skriver, när du någonsin skriver medan du i så fall kommer du förmodligen att stöta på ett syntaxfel eftersom C-nummer är ett skiftlägeskänsligt språk.