2013-04-01 2 views
2

"SYSTEM"명령을 사용하여 Java Jar을 호출하는 저장 프로 시저가 있습니다. 이 항아리는 "exit (errorCode)"명령을 사용하여 예외시 오류 코드를 반환합니다. 오류 코드가 256보다 낮 으면 저장된 프로 시저에서 smallint 변수의 올바른 오류 코드를 찾을 수 있습니다. 그렇지 않으면 임의의 오류 코드가 리턴됩니다. 이 문제를 일으키는 제한이 있습니까? 감사합니다. .저장 프로 시저의 예외시 오류 코드의 제한

+1

현재 작업하고있는 OS는 무엇입니까? 내가 아는 한, 모든 OS에서 한계는 255입니다. [찾았습니다.] (http://en.wikipedia.org/wiki/Exit_status) – ceinmart

답변

0

SYSTEM 문의 반환 상태는 Unix O/S에 의해 0..255 범위의 값으로 제한됩니다. 해당 범위를 벗어나는 상태는 반환 할 수 없습니다. exit()wait() 시스템 호출 그룹은 8 비트 값만 처리합니다.

+0

감사합니다.이 문제를 방지하려면 해결 방법이 있습니까? OS를 변경하거나 "exit() 및 wait() families"또는 다른 어떤 기능을 사용하는 것과 같습니다. – user698309

+0

글쎄, 명령의 종료 상태를보다 유연하게 조정할 수있는 자신 만의 O/S를 만들 수 있습니다. 그것을 (새로운) 표준에 부합하는 지점까지 폴란드어 - 명확하게 POSIX가 아니며, IBM 포트 소프트웨어와 같은 회사가 POSIX와 같은 인기를 얻고 있는지 확인하십시오. 이 시점에서 Informix를 플랫폼에 추가 할 수 있으며 더 많은 종료 상태를 얻을 수 있습니다. OTOH, 그것은 최소한의 (그리고 불확실한) 이득을위한 많은 일처럼 보입니다. 간결하게, 아니. 물론 자바 프로그램도 0..255 제한에 직면 해있다. –

+0

Windows의 종료 상태 범위가 더 넓습니다. Windows를 사용하지는 않지만 더 많은 오류 상태에 액세스 할 수 있습니다. –