Java에서 다음과의 차이점을 알고 싶습니다.
System.exit(0);
System.exit(-1);
System.exit(1);
위의 코드를 언제 적절하게 사용해야합니까?
답변
프로그램 실행이 양호하거나 나쁜 경우 종료 매개 변수가 규정되어야합니다. 오래된 프로그래밍 언어의 일종으로, 문제가 있는지, 무엇이 잘못되었는지를 아는 것이 유용합니다.
종료 코드는
0
처형이 잘되었을 때;1
,-1
,whatever != 0
약간의 오류가 발생했을 때, 당신은 오류의 다른 종류에 대해 서로 다른 값을 사용할 수 있습니다.
올바른 종료 코드가 양수 (UNIX에서는 의미)로 범위에 따라 사용 된 경우 :
1-127
사용자 정의 코드 (을 호출하여 생성됨exit(n)
)128-255
SIGSEGV 또는 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