Mam następujące wątpliwości związane prostą aplikację Java linii poleceń.Jak dokładnie działa kod zakończenia aplikacji Java metody main()?
Więc mam tej aplikacji wiersza polecenia, które jest startd przez main() metoda zdefiniowana wewnątrz Głównego klasie.
Jak zwykle ten main() jest zdefiniowana metoda z tym podpisem:
public static void main(String[] args) {
więc powrócić typ jest void. Powinno to oznaczać, że nie zwraca żadnej wartości.
Ale dlaczego po prawidłowym zakończeniu jego wykonywania otrzymuję tę wiadomość do konsoli IntelliJ?
Disconnected from the target VM, address: '127.0.0.1:54090', transport: 'socket'
Process finished with exit code 0
Co dokładnie oznaczają kod exit 0?
Myślę, że oznacza to, że program poprawnie zakończył wykonywanie bez żadnych błędów.
Więc teraz mam następujące wątpliwości: 2
Jeśli prawdą jest, dlaczego tak się dzieje, jeśli moje main() Sposób powrotu void?
Jak mogę zwrócić inny kod zakończenia, jeśli moja aplikacja zakończy się błędem? Czy istnieje standardowa wartość kodu zakończenia dla błędów?
Tnx
'System.exit (1)' – Albert
Proszę przeczytać dokumentację klasy ['System', w szczególności' exit (int) '] (http://docs.oracle.com/javase/7/docs/api /java/lang/System.html#exit%28int%29). – RealSkeptic
Kod wyjścia 0 jest równy 0 zgodnie z konwencją używaną dla języka Java. W normalnym przypadku kod wyjścia inny niż 0 powinien być wskaźnikiem błędu, co nie musi mieć miejsca, jeśli programista za programem java nie zastosował się do tej konwencji podczas korzystania z System.exit(); – SomeJavaGuy