2010-03-15 1 views
0

Если я написал программу на Java, как я могу узнать, закончилась ли моя программа нормально или нормально вышла?Как узнать, завершилась ли моя программа нормально?

+0

код выхода процесса 0 – XpiritO

+0

После его прекращения (не считайте его возможным)? или во время закрытия? – medopal

ответ

2

Я угадываю немного здесь, так как ваш вопрос нечеткий. Но я предполагаю, что вы говорите об обнаружении в своей программе, что эта программа завершилась нормально или нет, когда она была последней.

Если у вас есть что-то из каталога конфигурации или файла, оставьте там заметку, когда программа запустится и удалит заметку, когда ваш процесс завершается нормально. Если эта заметка все еще существует, когда запускается ваша программа, либо другой экземпляр все еще работает (что-то вам нужно будет проверить отдельно), либо оно не прекращается нормально.

0

JVM возвращает код завершения целого кода по окончании вашей программы, при этом 0 означает, что программа завершена правильно, а ненулевое значение обычно представляет собой условие ошибки.

Если ваша программа заканчивается нормально (т. Е. Основной метод возвращается без исключения), тогда JVM вернет 0, в противном случае, если исключение будет выброшено и не будет обнаружено, тогда JVM вернет не- нулевой код ошибки.

Вы также можете установить код ошибки самостоятельно, используя метод System.exit(int). Это приводит к тому, что JVM немедленно завершает работу и возвращает указанный код ошибки.

Предполагая, что вы находитесь на компьютере под управлением Windows, вы можете увидеть код ошибки, возвращенный с помощью свойства %ERRORLEVEL%.

Например если у вас есть класс Main, вы можете увидеть код ошибки, как это:

C:\>java Main 

C:\>echo %ERRORLEVEL% 
0 

Если вы затем изменили основной вызвать System.exit(1), то уровень ошибок будет выглядеть следующим образом:

C:\>echo %ERRORLEVEL% 
1