Forum: PC-Programmierung C# Argument Excption wurde nicht behandelt


von Verzweifelt (Gast)


Lesenswert?

Ich hab ein Problem, dass mir den Spaß an der Programmierung nimmt.
Mir werden keine Fehler oder Warnungen angezeigt. Beim Debuggen kommt 
aber dann der Fehler "ArgumentException wurde nicht behandelt" und dann 
darunter ungültige Parameter.

Der Fehler tritt beim Haupteinstiegpunkt der Anwendung auf und zwar bei 
"Application.Run(new Programm());". Einzelschritte beim Debuggen lassen 
sich machen. Suche schon lange nach einer Lösung. Was könnte die Ursache 
sein? Oder wie soll ich an den Fehler herangehen?
Help :(

Verwende C# mit Microsoft Visual Studio 2010

Mit freundlichen Grüßen

von Peter (Gast)


Lesenswert?

du kannst im studio einstellen das er bei der Exception ein break macht 
(Debug->Exception) dann solltest du ja sehen bei was es genau passiert. 
Oder mal ein Try Catch einbauen und den stacktrace anzeigen lassen.

Was hast du gemacht das sotewas passiert, ging es von anfang an nicht?

von Markus V. (valvestino)


Lesenswert?

Warnungen und Fehler werden beim Compilieren des Sourcecodes ausgegeben. 
Exceptions (zumindest die ArgumentException) ist ein Problem, das das 
.net-Framework zur Laufzeit feststellt. Diese Exception besagt, dass Du 
eine Methode mit (mindestens) einem unzulässigen Wert aufrufst.

Wie Peter bereits geschrieben hat: Aktiviere im Menü Debug/Exceptions... 
(oder Ausnahmen?) hinter Common Language Runtime Exceptions das Häkchen 
und der Debugger hält an der problematischen Stelle an. Evtl. reichte es 
auch aus, den Call-Stack in der Exception anzusehen (im Popup-Fenster 
der unbehandelten Ausnahme gibt es irgendwo sowas wie Details...).

Gruß

Markus

von Verzweifelt (Gast)


Lesenswert?

Nö, das Programm ist schon weit fortgeschritten. Was auch noch lustig 
ist, ist die Tatsache, dass der selbe Fehler kommt auch wenn ich mein 
Programm auskommentiere.

von Peter (Gast)


Lesenswert?

Verzweifelt schrieb:
> Nö, das Programm ist schon weit fortgeschritten.

du willst also damit sagen das du schon ewig an dem programm 
programmiert hast und es nun zum ersten mal startest und jetzt kommt der 
Fehler?

von Verzweifelt (Gast)


Lesenswert?

@Peter: Nein, will ich damit nicht. Es funktionierte zu einem Teil. 
Kommentiere ich mein Programm bis zum funktionierenden Teil aus, 
entsteht der selbe Fehler.

Wie oben beschrieben hält der Debugger an "Application.Run(new 
Programm());"
bei static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Programm());
        }
und kann mir nicht daraus erschließen, was falsch sein soll, da ja der 
Teil ja selbstständig generiert wird.

von PowerLED (Gast)


Lesenswert?

Code behind evtl. zerschossen?
Nutzt Du WPF oder WinForms?

von PowerLED (Gast)


Lesenswert?

Sry für die doofe Frage. Ok. WinForms.

von Arc N. (arc)


Lesenswert?

Verzweifelt schrieb:
> @Peter: Nein, will ich damit nicht. Es funktionierte zu einem Teil.
> Kommentiere ich mein Programm bis zum funktionierenden Teil aus,
> entsteht der selbe Fehler.
>
> Wie oben beschrieben hält der Debugger an "Application.Run(new
> Programm());"
> bei static void Main()
>         {
>             Application.EnableVisualStyles();
>             Application.SetCompatibleTextRenderingDefault(false);
>             Application.Run(new Programm());
>         }
> und kann mir nicht daraus erschließen, was falsch sein soll, da ja der
> Teil ja selbstständig generiert wird.

Wenn die Ausnahme nirgendwo behandelt wird, wird das Programm beendet 
und das ist genau dort.
Wie oben schon empfohlen:
Debug -> Exceptions zumindest sicherstellen das die User-unhandled an 
sind
(zur Not auch unter CLR Exceptions System.ArgumentException das Häkchen 
unter Thrown setzen)
Debug -> Options unter General Enable Exception Assistant und Unwind the 
call stack... aktivieren.
Wenn dann die Ausnahme auftritt (auch wenn das Programm nicht mit F5 in 
VS gestartet wurde), kann man sich den Call-Stack ansehen und sieht oft 
schon wo der Fehler herkommt.

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
Noch kein Account? Hier anmelden.