Exactement comment fonctionne l'application Java code de sortie de la méthode main ()?

J'ai le texte suivant doutes liés à une simple ligne de commande de l'application Java.

Donc, j'ai cette application en ligne de commande qui est startd par un main() méthode définie à l'intérieur d'un Principal classe.

Comme d'habitude cette main() méthode est définie avec cette signature:

public static void main(String[] args) {

Donc le type de retour est vide. Il devrait donc dire qu'il ne retourne aucune valeur.

Mais pourquoi lors de son exécution se termine correctement-je obtenir ce message dans le IntelliJ console?

Disconnected from the target VM, address: '127.0.0.1:54090', transport: 'socket'

Process finished with exit code 0

Exactement ce que représentent les code de sortie 0?

Je pense que cela signifie que le programme a remplir correctement son exécution sans encourir en erreur.

Alors maintenant, j'ai les 2 suivants doutes:

  1. Si c'est vrai pourquoi il arrive si mon main() de retour de méthode vide?

  2. Comment puis-je retourner un code de sortie différent si ma demande fin avec un message d'erreur? Il existe une norme de code de sortie de la valeur pour en finir avec les erreurs?

Tnx

System.exit(1)
Veuillez lire la documentation de la System classe, en particulier exit(int).
Le code de sortie 0 est à seulement 0 par la convention utilisée pour java. Dans un cas normal, un code de sortie, puis d'autres 0 devrait être un indicateur d'une erreur, qui n'a pas besoin d'être le cas si le programmeur derrière le java script n'a pas suivi cette convention lors de l'utilisation du Système.exit();

OriginalL'auteur AndreaNobili | 2015-02-26