выход из функций в main

Я относительно новичок в Stackoverflow и Java, но у меня есть небольшой опыт работы в C. мне понравился очень чистый способ выхода C из программ после сбоя с функцией " exit ()".

Я нашел аналогичную функциональную систему.exit () в Java, что отличается от функции C и когда я должен использовать систему.exit () 'best вместо простого "return" в Java, как в основной функции void?

3 ответов


System.exit() завершит JVM, инициализированный для этой программы, где return; просто возвращает элемент управления из текущего метода обратно в caller


См. Также


System.exit() выходим из программы независимо от того, кто зовет его и зачем. return в основном выйдет из main() но не убить ничего, что называется. Для простых программ разницы нет. Если вы хотите вызвать main из другой функции (которая может выполнять измерения производительности или обработку ошибок), это имеет большое значение. Ваш третий вариант-выбросить необработанное исключение времени выполнения. Это позволит вам выйти из программы из глубины стека вызовов, разрешить любой внешний код, вызов вашего основного программного способа перехвата и обработки выхода, а при выходе дайте контекст пользователя о том, что пошло не так и где (в отличие от статуса выхода, такого как 2).


System.exit() может быть удобно, когда вы готовы завершить программу при условии пользователя (т. е. приложение GUI). return используется для возврата к последней точке выполнения программы. Два очень различные операции.