Unter Verwendung Der Umwelt.ExitCode gegen Rückgabe int Main
Ich bin der Planung bis zur Nutzung der return-code der C# - executable in einem meiner shell-Skript. Ich habe zwei Optionen:
Rückgabe eines int-Wertes aus der main-Methode
class MainReturnValTest
{
static int Main()
{
//...
return 0;
}
}
(ODER)
Mit Umgebung.Verlassen mit exit-code
class MainReturnValTest
{
static void Main()
{
//...
Enviroment.Exit(exitCode);
}
}
Ist es in Ordnung, verwenden Sie eine der oben genannten Möglichkeiten, um den return Wert aus der ausführbaren Datei? Oder ist einer von Ihnen gegenüber anderen bevorzugt?
möglich, Duplikat der Wann sollte man die Option Umgebung verwenden.Exit zu beenden, eine console-Anwendung?
Downvoted, da der Titel der Frage erwähnt
Downvoted, da der Titel der Frage erwähnt
Environment.ExitCode
, aber der text der Frage spricht über Environment.Exit()
. Diese sind nicht die gleiche Sache.InformationsquelleAutor rkg | 2011-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Umgebung.Exit() wird ein böses Abbruch. Sofort ist das Verfahren beendet. Verwenden Sie es nur, wenn Sie feststellen, dass ein grober Fehler, ist es angebracht, in einer Anwendungsdomäne.UnhandledException-Ereignishandler zum Beispiel. Die ausgeführt wird, wenn Ihr Programm ist zu beenden, da eine unbehandelte Ausnahme.
Welches Ihr führen: Ausnahmen sind ein guter Weg, um zu signalisieren ungewöhnlichen Bedingungen, die beendet werden soll das Programm mit einem exit-Code, der nicht null ist. In der Tat, es wird automatisch gesetzt, um den HResult-Wert-Eigenschaft der Ausnahme. Es ist kein code erforderlich.
InformationsquelleAutor Hans Passant
Wenn Sie schreiben einen linearen Programms, dann wieder aus
Main
ist in Ordnung. Wenn Sie haben mehr komplexe Logik, oder evtl. auch andere threads), dann möchten Sie vielleicht zu verwendenExit(returnCode)
. Beide Wege gleich zu Ihrem shell-Skript.InformationsquelleAutor Tony Casale
Liegt der Unterschied, wenn Sie müssen behandeln Sie das Ereignis auf einer übergeordneten Anwendung auf der Basis von exit-status von einer anderen Anwendung. Rückkehr ist in Erster Linie innerhalb einer Anwendung, während der Ausgang wird verwendet, um plötzlich beenden einer Anwendung. Hier exit-status kann von einer anderen Anwendung verwendet, um zu entscheiden, auf seine nächsten Schritte.
Einem return wird verwendet, wenn Sie wieder einen Wert an eine andere Funktion aus, wo der code aufgerufen wird. oder an das Ende der code-Ausführung auf einer Veranstaltung.
Können Sie auch sehen wie diese:
1) Ein return beendet eine Funktion, die main(); ein Ausgang wird verwendet, um das Programm zu beenden.
2) Endet ein Programm mit einem bestimmten Rückgabewert gibt nicht interpretiert werden, wird implizit von einer anderen Anwendung, aber exit-status verwendet werden kann, um zu entscheiden, auf eine code-Umsetzung.
InformationsquelleAutor Ganesh Kamath