13
public class WrapperTest {
    static {
        print(10);
    }

    static void print(int x) {
        System.out.println(x);
        System.exit(0);
    }
}

In the above code System.exit(0) is used to stop the program. What argument does that method take? Why do we gave it as 0. Can anyone explain the concept?

palacsint
  • 27,430
  • 10
  • 76
  • 108
Warrior
  • 38,748
  • 44
  • 137
  • 212

4 Answers4

30

From the JAVA Documentation:

The argument serves as a status code; by convention, a nonzero status code indicates abnormal termination.

And Wikipedia adds additional information.

Xn0vv3r
  • 17,334
  • 13
  • 56
  • 64
7

It's the return value that the Java process will report to the calling process.

It hasn't really got a precise definition, but the usual convention is that 0 means success and any non-zero value represents a failure.

Joachim Sauer
  • 291,719
  • 55
  • 540
  • 600
3

The argument is the return code which the java process will return (0 means "successful"). It can be used when a Java program is a part of a batch script, or by build tools such as Ant.

Michael Borgwardt
  • 335,521
  • 76
  • 467
  • 706
3

Have a look here

The argument serves as a status code; by convention, a nonzero status code indicates abnormal termination.

John
  • 1,180
  • 5
  • 21
  • 48
hhafez
  • 37,778
  • 37
  • 110
  • 143