[java] 시스템의 차이. Java에서 exit (0), System.exit (-1), System.exit (1)

Java에서 다음과의 차이점을 알고 싶습니다.

System.exit(0);
System.exit(-1);
System.exit(1);

위의 코드를 언제 적절하게 사용해야합니까?



답변

프로그램 실행이 양호하거나 나쁜 경우 종료 매개 변수가 규정되어야합니다. 오래된 프로그래밍 언어의 일종으로, 문제가 있는지, 무엇이 잘못되었는지를 아는 것이 유용합니다.

종료 코드는

  • 0 처형이 잘되었을 때;
  • 1, -1, whatever != 0약간의 오류가 발생했을 때, 당신은 오류의 다른 종류에 대해 서로 다른 값을 사용할 수 있습니다.

올바른 종료 코드가 양수 (UNIX에서는 의미)로 범위에 따라 사용 된 경우 :

  • 1-127사용자 정의 코드 (을 호출하여 생성됨 exit(n))
  • 128-255SIGSEGV 또는 SIGTERM 과 같은 다른 유닉스 신호로 인해 종료에 의해 생성 된 코드

그러나 Java로 코딩하는 동안 신경 써야한다고 생각하지는 않습니다. 약간의 정보 일뿐입니다. 프로그램이 표준 도구와 상호 작용하도록하려는 경우 유용합니다.


답변

Zero => 다 괜찮아

Positive => 내가 잘못했을 가능성이있는 것으로 잘못 예상 됨 (잘못된 명령 줄, 파일을 찾을 수 없음, 서버에 연결할 수 없음)

Negative=> 내가 전혀 예상하지 못한 것이 잘못되었습니다 (예 : 시스템 오류-예상치 못한 예외-외부 강제 종료 kill -9)

(128보다 큰 값은 실제로 8 비트 부호있는 이진 또는 2의 보수로 간주되는 경우 음수입니다)

여기에 좋은 표준 종료 코드가 많이 있습니다.


답변

System.exit(system call)종료 시퀀스를 시작하여 현재 실행중인 Java 가상 머신을 종료합니다. 인수는 상태 코드 역할을합니다 .

일반적으로 0이 아닌 상태 코드는 비정상 종료를 나타냅니다.

  System.exit(0) or EXIT_SUCCESS;  ---> Success
  System.exit(1) or EXIT_FAILURE;  ---> Exception
  System.exit(-1) or EXIT_ERROR;   ---> Error

Java 에서 더 읽기

0성공적인 실행을위한 Unix 및 Linux 시스템 및 1실패한 실행을위한 이상.


답변

종료 상태 코드가 0이 아닌 경우 일반적으로 비정상 종료를 나타냅니다. if n != 0는 다양한 n에 의미를 적용하는 프로그래머에게 달려 있습니다.

에서 https://docs.oracle.com/javase/7/docs/api/java/lang/System.html .


답변

exit(0)일반적으로 성공적인 종료를 나타내는 데 사용됩니다. exit(1)또는 exit(-1)0이 아닌 다른 값은 일반적으로 종료에 실패했음을 나타냅니다.


답변

여기에 답이 있습니다.

System.exit(0);// normal termination - Successful - zero
System.exit(-1);//Exit with some Error
System.exit(1);//one or any positive integer // exit with some Information message


답변

좋은 오류는 255보다 큰 오류 코드가 오류 코드 % 256으로 변환된다는 것입니다. 사용자 지정 오류 코드> 255를 사용하고 응용 프로그램 논리에서 정확한 오류 코드를 기대하는 경우 특히주의해야합니다.
http://www.tldp.org/LDP/abs/html/exitcodes.html