C# Anfängerfrage

Gast #3621633
Lesenswert?
• ▲
▼
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
Gast #3621678
Lesenswert?
• ▲
▼
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)
Gast #3621781
Lesenswert?
• ▲
▼
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??
Gast #3626909
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren