|
|
1.1 root 1: .th IERROR III 10/29/73
2: .sh NAME
3: ierror \*- catch Fortran errors
4: .sh SYNOPSIS
5: .ft B
6: if ( ierror ( \fIerrno\fB ) .ne. 0 ) goto \fIlabel\fR
7: .sh DESCRIPTION
8: .it Ierror
9: provides a way of detecting errors during the running of a Fortran
10: program.
11: Its argument is a run-time error number
12: such as enumerated in
13: .it fc
14: (I).
15: .s3
16: When
17: .it ierror
18: is called,
19: it returns a 0 value; thus the
20: .bd goto
21: statement in the synopsis is not executed.
22: However, the routine stores inside itself the
23: call point and invocation level.
24: If and when the indicated error occurs,
25: a
26: .bd return
27: is simulated from
28: .it ierror
29: with a non-zero value;
30: thus the
31: .bd goto
32: (or other statement)
33: is executed.
34: It is a ghastly error to call
35: .it ierror
36: from a subroutine which
37: has already returned when the error occurs.
38: .s3
39: This routine is essentially tailored to
40: catching end-of-file situations.
41: Typically it is called just before the start
42: of the loop which reads the input file,
43: and the
44: .bd goto
45: jumps to a graceful termination of the program.
46: .s3
47: There is a limit of 5 on the number
48: of different error numbers which can be caught.
49: .sh "SEE ALSO"
50: fc (I)
51: .sh BUGS
52: There is no way to ignore errors.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.