4. FOG ERRORS
Errors are reported at run-time by the FOG subroutines unless the user
has included his own error routine. The following errors can occur:
- Error No 1
- Generated by all of the subroutines.
The number of arguments in the call statement is incorrect.
The routine is ignored.
- Error No 2
-
Generated by all of the subroutines.
A bad file - DJMP order is not where it should be or possibly the
length of the file is incorrect.
- Error No 3
-
Generated by DCHOOS.
The length of the file is less than zero.
- Error No 4
-
Generated by TEXT, ITEXT.
Argument 2 (the length of the string) is less than zero.
- Error No 5
-
Generated by DRAW-type routines.
An illegal SAVE/RESTORE code - the routine continues assuming the value
as the least significant bit of the code.
- Error No 6
-
Generated by DCHOOS.
There is a faulty index value (second argument).
- Error No 7
-
Generated by code-producers.
The display orders generated would overflow either the bank boundary
or the array limit.
- Error No 10
- Generated by insert-type routines. The class-type
input is greater than 5 - usually a corrupt IPT1,IPT2.
- Error No 11
- Generated by code-producers.
The address for appending is less than or equal to zero.
Possibly DCHOOS never called.
- Error No 12
-
Generated by SCHOOS,SINIT,RCHOOS,RINIT.
The argument is out of the range 1-16.
- Error No 13
-
Generated by RCHOOS,RINIT.
The stored information is incorrect or has never been put there.
- Error No 101
-
Generated by code-producers.
An internal consistency check has failed - either the program has been
corrupted or there is an error in FOG. Please report any such errors to
one of the PDP15 system programmers.
- Error No 102
-
Generated by LINE,ILINE.
The arbitrary vector hardware is not present.
4.1 The Standard FOG Error Routine
When a FOG subroutine detects an error it calls the routine
VTERR (icode), where icode is one of the errors listed above.
If the user does not include a routine called VTERR the following standard
FOG error routine will be loaded:
SUBROUTINE VTERR (ICODE)
C
C FILE VTERR1 - SUBROUTINE VTERR
C TYPES FOG ERROR MESSAGE
C OBTAINS FOG INTERNAL VARIABLES BY USING VTARGL
INTEGER LIST (20)
CALL VTARGL (LIST(1))
J = LIST (2) + 2
WRITE (4,8005) ICODE
8005 FORMAT ('FOG ERROR CODE',I3)
WRITE (4,8010) (LIST (I), I = 1,J)
8010 FORMAT ('SUBR. CODE',O3/'LENGTH',I4/
1(8I7/))
RETURN
END
The subroutine codes are included in Appendix A.
4.2 Replacing the Standard FOG Error Routine
The standard FOG error routine can be replaced by one supplied by the
user. The subroutine VTARGL can be used to acquire the FOG internal
variables, the call is:
CALL VTARGL(iarray)
where iarray is an integer array name
The following information will be returned by subroutine VTARGL:
iarray(1) - subroutine code number (see Appendix A) in which the error occurred
iarray(2) - length of the argument list at call time
iarray(3) to iarray(2)+2 - the integer values of the arguments at call time.