Entwickler-Ecke

IO, XML und Registry - Programm in C# Herunterfahren


Eagle92 - Mo 18.07.11 08:09
Titel: Programm in C# Herunterfahren
Hallo Liebe Entwickler Gemeinschaft,

Mein problem ist, das ich gern einen Befehl hätte womit ich in meiner ConsoleApplication das Programm Runterfahre sobald ein bestimmter Fall eintritt, ich definier das mal genauer.

Also:

C#-Quelltext
1:
2:
3:
4:
5:
  if (VariableNode == null)
                {
                    Console.WriteLine("Keine Ausgaben Möglich");
                    Console.ReadLine();
                }


sobald ich zum Beispiel durch einen Verweis auf eine falsche XML-Datei das Element "VariableNode" nicht mehr vorfinden kann würd ich es gern so haben, das der Benutzer noch die Fehlermeldung sehen kann und danach das Programm dann erst runterfährt.

Danke im Vorraus !

Mit freundlichen Grüßen

Patrick


Kha - Mo 18.07.11 09:54

Genau das macht doch dein Code? Die Fehlemeldung wird angezeigt und nach Tastendruck das Programm beendet.


Eagle92 - Mo 18.07.11 10:06

Hallo Kha,

Leider nein.
Es wird doch gar kein Abbruch des Programms erzeugt. Lediglich einen Enterdruck ^^. Er geht in die schleife wenn er kein Element finden kann, gibt die Ausgabe und verlangt einen Enter Druck.
Allerdings habe ich dann noch in nach folgenden schritten ein paar Writelines und noch ein Readline. Das heißt ich Drücke enter und das Programm läuft weiter. Da ich das Programm so programmiert das bei einem richtigen Pfad was erscheinen soll (unter anderem vordefinierte Writelines), nicht direkt verschwindet ist am Ende auch nochmal ein Readline(). Somit bekomme ich dann bei einem falschen Pfad die vordefinierten Writelines die sich nicht auf die XML-Datei beziehen. Das wollte ich eigentlich vermeiden in dem ich einfach sage "Mach aus, nach Fehlangaben".
Verstehste wie ich das meine ?

Mit freundlichen grüßen

Patrick


jaenicke - Mo 18.07.11 10:11

Naja, normal fortsetzen darfst du natürlich nur, wenn die Prüfung erfolgreich war, also hier im else...

Aus einer Schleife kommst du mit break heraus.


Eagle92 - Mo 18.07.11 10:18

else...

hätte ich selber drauf kommen können. Danke =)


ujr - Mo 18.07.11 10:57

Hallo,

das Verlassen der main() Routine ist auch über "return" möglich. Außerdem ist in diesem Zusammenhang auch http://msdn.microsoft.com/en-us/library/ms682658(v=vs.85).aspx interessant.


Th69 - Mo 18.07.11 11:06

Hallo ujr,

anstatt der WinAPI ExitProcess Funktion dann doch besser gleich die .NET-Methode aufrufen: Environment.Exit(exitCode) [http://msdn.microsoft.com/de-de/library/system.environment.exit.aspx]

P.S: Für WinForms würde man stattdessen aber Application.Exit() aufrufen.


ujr - Mo 18.07.11 11:39

user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
anstatt der WinAPI ExitProcess Funktion dann doch besser gleich die .NET-Methode aufrufen: [url=http://msdn.microsoft.com/de-de/library/system.environment.exit.aspx]Environment.Exit(exitCode)[/url]


Ja, natürlich - hatte den falschen Namen im Kopf und auf MSDN nicht richtig hingeschaut...