Ich habe eine c# WPF Anwendung. Nun habe ich hier eine Bibliothek eingebunden, bei dieser sind Debugmeldungen integriert mit Debug.WriteLine(String.Format("....", cbRead,message)); Wo wird diese Meldung ausgegeben, so dass ich sie auch lesen kann?
Die erscheinen "Output"-Fenster. Im Menü: "View" > "Output" - bzw: STRG+W und dann O
Wow, vielen herzlichen Dank!! Und plötzlich wird einem soviel klar, was und warum das Programm so reagiert ;-) ...
Noch was, ich bekomme realativ häufig diese Meldungen: A first chance exception of type 'System.IndexOutOfRangeException' occurred in xyz.exe A first chance exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll A first chance exception of type 'System.IO.IOException' occurred in System.Core.dll ...broken pipe Kann ich nun irgendwie herausfinden, in welcher Zeile die exeption auftritt? Bis jetzt sehe ich nur die Meldung im Output-Fenster
Normalerweise markiert der Debugger die Zeile in der die Exception ausgelöst wurde automatisch und hält die Programmausführung an - Es sei denn die Exception wird vom Code selbst z.B. via try-catch-Block aufgefangen. Über "Debug" > "Exceptions" kann man aber auch dafür sorgen, dass der Debugger bei Fehlern immer anhält (Bei "Common Language Runtime Exceptions" in der Spalte "Thrown" ein Häkchen setzen)
Tolle Sache, sehr praktisch! An folgender Stelle (in der Zeile "colorCode = int.Parse(hexString,...)") erhalte ich eine
1 | int colorCode = Color.Red.ToArgb(); |
2 | try |
3 | { |
4 | string hexString = this.textBoxSLRGB.Text; |
5 | if (hexString.Length == 6) |
6 | { |
7 | hexString = "FF" + hexString; |
8 | } |
9 | colorCode = int.Parse(hexString, System.Globalization.NumberStyles.HexNumber); |
10 | } |
11 | catch |
12 | { |
13 | colorCode = Color.Red.ToArgb(); |
14 | this.textBoxSLRGB.Text = colorCode.ToString("X").Substring(2, 6); |
15 | } |
Erhalte ich folgende Meldung: A first chance exception of type 'System.FormatException' occurred in mscorlib.dll Wie kann ich dies verbessern??
Sandra schrieb: > Wie kann ich dies verbessern?? Sieh Dir mal im Debugger an, wie Dein "hexstring" aussieht, den Du der Funktion int.Parse übergibst. Und sieh Dir dazu das hier an: http://msdn.microsoft.com/de-de/library/c09yxbyt%28v=vs.110%29.aspx
ich glaube der Compiler versucht nur darauf hinzuweisen, dass man an dieser stelle nicht nur ein allgemeines "catch", sondern ein spezielles "catch System.FormatException" verwenden könnte
Hallo, Wenn ich mich recht erinnere, bedeutet 'first chance exception', dass eine Exception auftrat, diese aber durch ein catch aufgefangen wird. CU, Jay
int.Parse wirft eine Exception, weil scheinbar Müll in hexString steht. Dadurch wird in den catch-Block gesprungen. Die Exception vermeiden könnte man (sofern man nicht für ein gültiges hexString sorgen kann), indem man statt int.Parse eher int.TryParse verwendet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.