2012-05-01 9 views
5

Jestem stosunkowo nowy do Stackoverflow i Java, ale mam małe doświadczenie w C. Podobał mi się bardzo czysty sposób C wychodzące z programów po awarii z funkcją "exit()".Exiting funkcji w głównym

Znalazłem podobną funkcję System.exit() w Javie, co różni się od funkcji C i kiedy powinienem używać "System.exit()" najlepiej zamiast prostego "powrotu" w Javie jak w pustce główna funkcja?

Odpowiedz

5

System.exit() zakończy JVM initilized dla tego programu, gdzie return; prostu zwraca sterowanie z metodą bieżącego powrotem do rozmówcy


Zobacz także

+0

Czy to źle? Jeśli główna funkcja zawodzi, zakończenie JVM jest w porządku, jeśli jest to prosty program? –

+0

Tak, powinno być dobrze z normalnymi progra, ale najczęściej jest używany tam, gdzie chcemy zakończyć aplikację po zrealizowaniu wszystkich dostępnych zasobów –

+0

tak, dziękuję bardzo. –

1

System.exit() może być przydatny kiedy jesteś gotowy do zakończenia programu na podstawie użytkownika (tj. aplikacja GUI). return służy do powrotu do ostatniego punktu w wykonaniu programu. Oba są różnymi operacjami .

2

System.exit() zakończy program bez względu na to, kto go wywoła i dlaczego. return w głównym wyjściu z main(), ale nie zabić niczego, co to nazwałem. W przypadku prostych programów nie ma różnicy. Jeśli chcesz wywołać swoją magistralę z innej funkcji (która może wykonywać pomiary wydajności lub obsługę błędów), ma to duże znaczenie. Trzecią opcją jest wyrzucenie wyjątku unikanego środowiska wykonawczego. Umożliwi to wyjście z programu z głębi stosu wywołań, zezwolenie każdemu zewnętrznemu kodowi wywołującemu twoją główną w sposób programowy na przechwycenie i obsługę wyjścia, a przy wychodzeniu, podaj kontekst użytkownika, co poszło nie tak i gdzie (jako przeciwieństwie do statusu wyjścia jak 2).

Powiązane problemy