복구 가능한 오류

복구 가능한 오류는 복구할 수 있는 오류입니다. A recoverable error causes the IOSTAT= specifier to be set to one of the values defined below and the ERR= label to be branched to if these specifiers are present on the input/output statement. IOSTAT=ERR= 지정자가 입력/출력 명령문에 없고 ERR_RECOVERY 런타임 옵션이 YES으로 설정된 경우, 복구 조치가 발생하고 프로그램이 계속됩니다. IOSTAT=ERR= 지정자가 입력/출력 명령문에 없고 ERR_RECOVERY 옵션이 NO로 설정된 경우 프로그램이 중지됩니다.

표 1. 복구 가능한 오류 조건에 대한 IOSTAT값
IOSTAT 값 오류 설명
16 직접 입출력에서 REC= 지정자 값이 유효하지 않습니다.
17 입/출력 명령문이 직접 파일에 허용되지 않음.
18 연결되지 않은 장치의 직접 입출력 명령문.
19 형식화되지 않은 입출력이 형식화된 파일에서 시도되었습니다.
20 형식화되지 않은 파일에서 형식화된 입출력이 시도되었습니다.
21 직접 파일에서 순차 또는 스트림 입출력이 시도되었습니다.
22 순차 또는 스트림 파일에서 직접 입출력이 시도되었습니다.
23 이미 다른 유닛에 연결되어 있는 파일을 연결하려고 시도합니다.
24 열기 지정자가 연결된 파일의 속성과 일치하지 않습니다.
25 RECL= 직접 파일에 대한 OPEN문에서 생략된 지정자입니다.
26 RECL= OPEN문에 있는 지정자는 음수이다.
27 OPEN문에 대한 ACCESS= 지정자가 유효하지 않습니다.
28 FORM= OPEN문에 대한 지정자가 유효하지 않습니다.
29 STATUS= OPEN문에 지정된 지정자가 유효하지 않습니다.
30 BLANK= 지정자의 지정자가 유효하지 않습니다.
31 FILE= OPEN 또는 INQUIRE문에 대한 지정자가 유효하지 않습니다.
32 상태 = 'SCRATCH' 및 FILE= 지정자가 동일한 OPEN문에 지정되었습니다.
33 파일이 상태 = 'SCRATCH' 로 열렸을 때 CLOSE문에 STATUS = 'KEEP' 이 지정되었다.
34 CLOSE문에 지정된 STATUS= 지정자 값이 유효하지 않습니다.
18 입/출력 명령문에 유효하지 않은 단위 번호가 지정되었습니다.
47 이름 목록 입력 항목이 0이 아닌 순위의 하나 이상의 구성요소와 함께 지정되었습니다.
48 이름 목록 입력 항목이 크기가 0인 배열을 지정했습니다.
58 형식 스펙 오류입니다.
93 입출력 명령문이 오류 단위 (장치 0) 에 허용되지 않습니다.
110 형식화된 입출력에서 데이터 항목과 함께 사용되는 잘못된 편집 설명자입니다.
120 NLWIDTH 설정이 레코드 길이를 초과합니다.
125 BLANK= 형식화되지 않은 파일에 대해 OPEN문에 지정된 지정자입니다.
127 POSITION= 다이렉트 파일에 대한 OPEN문에 지정된 지정자입니다.
128 OPITION= OPEN문에 지정된 값이 유효하지 않습니다.
129 ACTION= OPEN문에 대한 지정자 값이 유효하지 않습니다.
131 DELIM= 형식화되지 않은 파일에 대해 OPEN문에 지정된 지정자입니다.
132 DELIM= OPEN문에 대한 지정자 값이 유효하지 않습니다.
133 PAD= 형식화되지 않은 파일에 대해 OPEN문에 지정된 지정자입니다.
134 OPEN문에 대한 PAD= 지정자 값이 유효하지 않습니다.
136 READ문에 있는 ADVANCE= 지정자 값이 유효하지 않습니다.
137 ADVANCE = 'NO' 는 읽기 명령문에 지정되어 있을 때 지정되지 않습니다.
138 ADVANCE = 'NO' 는 READ문에 EOR=가 지정될 때 지정되지 않는다.
145 파일이 종료 파일 레코드 뒤에 위치할 때 읽기 또는 쓰기가 시도됩니다.
163 비무작위 액세스 디바이스에 있는 파일에 대한 다중 연결은 허용되지 않습니다.
164 ACTION = 'WRITE' 또는 조치 = 'READWRITE' 와의 다중 연결은 허용되지 않습니다.
170 ASYNCH= OPEN문에 대한 지정자 값이 유효하지 않습니다.
171 용지 = 지정자가 형식화됨으로 설정되어 있기 때문에 OPEN문에 주어진 ASYNCH= 지정자가 유효하지 않습니다.
177 아직 완료되지 않은 비동기 입/출력 조작이 있는 동안 장치가 닫혔습니다.
191 RECL= 지정자가 ACCESS = 'STREAM' 이 있는 OPEN문에 지정되어 있습니다.
194 BACKSPACE문은 포맷되지 않은 스트림 I/O에 연결된 유닛을 지정한다.
195 POS= 입출력 명령문에 지정된 지정자가 1보다 작습니다.
196 1 유닛이 스트림 액세스에 연결되지 않았으므로 유닛에서 스트림 입출력 명령문을 수행할 수 없습니다.
197 POS= 지정할 수 없는 파일에 연결된 단위의 입출력 명령문에 지정합니다.
198 연결되지 않은 장치의 스트림 입출력 명령문입니다.
202 1 하위 읽기 또는 쓰기 명령문에서는 =, POS= 또는 REC= 지정자를 사용할 수 없습니다.
203 1 하위 읽기 또는 쓰기 명령문이 상위 명령문의 단위 번호와 일치하지 않는 단위 번호를 지정했습니다.
204 1 상위 명령문이 읽기 또는 쓰기 명령문이 아니므로 읽기 또는 쓰기 명령문이 허용되지 않습니다.
205 사용자 정의 파생 유형 입출력 프로시저가 IOSTAT 변수를 설정했으나, 상위 명령문이 IOSTAT = 을 지정하지 않았다.
209 READ 명령문의 BLANK= 지정자에는 잘못된 값이 있습니다.
210 READ 명령문의 지정자에는 잘못된 값이 있습니다.
211 쓰기 명령문에 있는 DELIM= 지정자의 값이 잘못되었습니다.
212 1 형식화된 READ 또는 WRITE문의 데이터 항목은 DT 편집 디스크립터에 의해 처리되어야 한다. 읽기 또는 쓰기 명령문은 무시됩니다.
213 이름 목록 읽기 명령문에서 발견한 이름 목록 항목 이름 뒤에는 등호 ('=') 가 없습니다.
214 내부 쓰기 명령문의 DELIM= 지정자에 잘못된 값이 있습니다.
215 WRITE문에 대한 SIGN= 지정자 값이 외부 파일에 대해 유효하지 않습니다.
216 WRITE문에 대한 SIGN= 지정자 값이 내부 파일에 대해 유효하지 않습니다.
217 SIGN= 형식화되지 않은 파일에 대해 OPEN문에 주어진 SIGN= 지정자.
218 열기 명령문에 대한 SIGN= 지정자 값이 유효하지 않습니다.
219 DECIMAL= 지정자 값이 외부 파일에 대해 유효하지 않습니다.
220 내부 파일에 대해 DECIMAL= 지정자 값이 유효하지 않습니다.
221 DECIMAL= 지정자가 형식화되지 않은 입출력 명령문에서 사용됩니다.
222 ROUND= 지정자가 서식 = 'UNFORMATTED' 인 OPEN문에 지정되었습니다.
223 입출력 명령문의 ROUND= 지정자에 잘못된 값이 있습니다.
224 지정된 지정자에 의해 지정된 미해결 비동기 데이터 전송이 없습니다.
225 OPEN문의 지정자에는 잘못된 값이 있습니다.
226 지정된 미해결 비동기 데이터 전송이 없습니다.
227 비동기 데이터 전송 오류가 지정된 장치와 연관되어 있지 않습니다.
228 형식화된 입출력에 연결된 단위에 대해 UFMT_LITTLEENDIAN 옵션이 지정되었습니다.
229 DT 편집 디스크립터의 v-list에는 예기치 않은 문자가 포함되어 있다.
230 DT 편집 디스크립터의 v-list에 예상치 못한 인쇄할 수 없는 문자가 포함되어 있다.
231 비동기 데이터 전송 오류가 지정된 파일과 연관되어 있지 않습니다.
232 OpenMP 스레드 번호를 사용할 수 없습니다.
233 읽기 액세스 권한이 없는 장치에 대해 수행된 BACKSPACE.
235 ENCODING= specifier는 포맷되지 않은 파일에 대해 OPEN문에서 사용된다.
236 ENCODING= 지정자가 OPEN문에 올바르지 않은 값을 갖고 있습니다.
240 2 NEWUNIT = OPEN문에 지정된 파일에 'SCRATCH' 값이 있는 FILE= 또는 STATUS=가 누락되었다.
242 CONVERT = 지정자에 유효하지 않은 값이 지정되었습니다. 프로그램이 CONVERT = 지정자를 무시하여 복구됩니다.
243 CONVERT = 지정자를 포함하는 OPEN문은 포맷된 데이터 파일에 연결된다. 복구는 CONVERT = 지정자를 무시하는 것이다.
참고:
  1. Fortran 2003
  2. Fortran 2008